Skip to content

LUNA Index Module v.5.38.1#

  • Sections of the form <service_name_HTTP_SETTINGS have been added to the settings of the Indexer, Index Manager and Indexed Matcher services, containing settings responsible for processing HTTP connections.

    The following settings are available:

    • request_timeout - the duration of time between the instant when a new open TCP connection is passed to the server. Value (in seconds) is integer number, default 60.
    • response_timeout - the duration of time between the instant the server passes the HTTP request to the app, and the instant a HTTP response is sent to the client. Value (in seconds) is integer number, default 600.
    • request_max_size - how big a request may be (bytes). Value (in bytes) is integer number, default 1gb.
    • keep_alive_timeout - http keep alive timeout. Value (in seconds) is integer number, default 15.

    See the following link for details: https://sanic.dev/en/guide/deployment/configuration.html#builtin-values

  • New socket_address tag has been added to the index build series monitoring points. The tag contains a value in the format <host>:<port>.

    This enables you to fix the server address for a particular instance of Indexed Matcher for monitoring.

  • New duration field has been added to index build series monitoring points with the stages drop_index (removing the index from the Indexed Matcher memory) and load_index (loading the index into the Indexed Matcher memory). This field indicates the duration of the corresponding stage.

  • New resource "/indexes" has been added to the Indexed Matcher service, which enables you to get a set of indexes loaded into the service's memory. For each index, its meta information is output ("label", "index_id", "account_id", descriptor version, etc.).

  • New FORMAT setting has been added to all LIM services, which enables you to specify the logging format - default (standard log output format) and json (json log output).

  • Now if the index building process is interrupted due to lack of memory, the error 26109 Build process killed. It's probably due to running out of memory and the OS was triggering the OOM killer will be displayed in the logs of the Indexer service.

  • Indexed Matcher service now includes a check for the existence of a list upon launching, loading a new index into memory, and updating the index in memory. An index without an existing list will be removed from the service's memory.

  • Matching requests have been speeded up.

    The speedup was achieved through internal optimizations and changing the response field result format. It used to be a list of the following {"face_id": ..., "similarity": ...} objects. The result is now a list of pairs, where the first element of the pair is face_id and the second element is similarity.

    Note. This change requires a mandatory update of the Python Matcher Proxy service.

  • Sequence diagrams of the main processes of the LUNA Index Module have been added to the administrator manual.

LIM developer's changes (v.0.3.0)#

Improvements#

  • A format of a response field result was change. It was a list following objects {"face_id": ..., "similarity": ...} before. The result is list of pair now, first element of pair is a face id, second element is similarity. This change speed up a matching request.

    Note. This change requires update plugin into the Luna-Python-Matcher-Proxy.

  • Speed up a matching request. The improvement was achieved through some internal refactoring.

  • A field duration was added to monitoring point of series index_processing with stages 'drop_indexandload_index`. This field means a duration corresponding stage.

  • Added check for the existence of the list during start, loading a new index and updating the index. An index without an existing list is removed

  • If index build process being killed due to it running out of memory, certain error is set by indexer.

  • Setting format was added to all matcher services logging settings. Possible values are "default" - standard logs formatting or "json" - for json formatted logs

  • The /indexes resource was added to check indexes loaded into matcher memory.

  • The socket_address tag with value in the format <host>:<port> was added into Indexed Matcher monitoring points.

  • Config sections 'LIM_INDEXER_HTTP_SETTINGS', 'LIM_MANAGER_HTTP_SETTINGS' and 'LIM_MATCHER_HTTP_SETTINGS' was added. These sections contains several settings which are responsible for process http connections. Available following settings now:

    • request_timeout - the duration of time between the instant when a new open TCP connection is passed to the server. Value (in seconds) is integer number, default 60.
    • response_timeout - the duration of time between the instant the server passes the HTTP request to the app, and the instant a HTTP response is sent to the client. Value (in seconds) is integer number, default 600.
    • request_max_size - how big a request may be (bytes). Value (in bytes) is integer number, default 1gb.
    • keep_alive_timeout - http keep alive timeout. Value (in seconds) is integer number, default 15.

More detail see here.

  • Internal optimization was implemented to synchronize LIM Matcher in-memory index labels with Redis keys.

Fixed errors#

Index refresh error message is properly shows list id.