Skip to content

LUNA Index Module v.5.34.0#

Changes

  • The LUNA Index Module installation manual has been updated.

    Now by default there are commands to install the module in "/var/lib/luna/" directory instead of in "/var/lib/luna/current/" directory.

    The index storage is now created in the "/var/lib/luna/" directory to simplify the upgrade process.

  • The LUNA Index Module upgrade manual.

  • LUNA Index Module now takes into account changes in the version of face descriptors. It means that:

    • the Indexer service builds an index from descriptors of the version specified in the "DEFAULT_FACE_DESCRIPTOR_VERSION" setting of the Index Manager service;
    • the Index Manager service automatically rebuilds the index if it does not contain information about versions of descriptor;
    • the Indexed Matcher service loads only those indexes that contain descriptors of the version specified in the "DEFAULT_FACE_DESCRIPTOR_VERSION" setting of the Index Manager service.

    In this regard, the mandatory field "descriptor_version" has been added to the index metastructure ("meta.json"). The "get indexes" and "get most relevent indexes" requests also return the "descriptor_version" parameter.

    Important information for upgrading from previous version

    After starting the Index Manager service, it will automatically start rebuilding all indexes that do not contain information about descriptors, i.e. all indexes created in a previous version of LIM. Rebuilding the index can take a long time, depending on the number of faces on the lists. In order to avoid the lengthy process of rebuilding the index, you can add the "descriptor_version" field with the corresponding version of the descriptors to the "meta.json" files of all previously created indexes before starting the Index Manager service.

    Reminder added to "Important information" section of the new LIM upgrade manual.

  • Now, by default, the Indexed Matcher service monitors changes in lists with faces. If new changes are made to the list, the Indexed Matcher service updates the corresponding indexes in its memory by gradually adding a small number of descriptors.

    The use of this functionality is controlled by the "enabled" setting of the "LIM_MATCHER_REFRESH" section of the Configurator service.

    When a cached index is updated, the Indexed Matcher service stops matching on that index, but continues to accept new match requests for that index. By adding a small number of descriptors to the cached index, the matching process is performed with minimal interruption. However, it should be taken into account that if elements are inserted into the list too often (dozens and hundreds of additions), then this can cause a significant degradation in the speed of work, up to an almost complete stop of the matching process.

    If this functionality is used, then it is not necessary and not recommended to perform frequent index rebuilds. Accordingly, it is recommended to increase the planning routine period ("planning_period" setting of the "LIM_MANAGER_INDEXING" section of the Configurator service). However, adding new faces to the cached index is slower than rebuilding the index, so it makes no sense to use this function if a very large number of faces have been added to the list. In this case, it is easier to rebuild the index again.

    See "Cached index refreshing" section in the LIM administrator manual.

  • Downloading descriptors from the Faces service has been optimized. The "Accept" header has been changed from application/x-flutbuf to application/x-msgpack.

  • "Warming up" (test matching) the first created index before starting to use it has been added. Subsequent indexes are not "warmed up".

    "Warm-up" is performed after the index is loaded into the memory of the Indexed Matcher service and the service is waiting for a matching request.

  • The Python version has been updated to 3.10. Support for other versions has been discontinued.