Adam Quigley created SOLR-18340:
-----------------------------------
Summary: LTR updates inconsistent across nodes in SolrCloud mode
without collection reload
Key: SOLR-18340
URL: https://issues.apache.org/jira/browse/SOLR-18340
Project: Solr
Issue Type: Bug
Components: contrib - LTR
Affects Versions: 9.10.1, 10.0
Reporter: Adam Quigley
h3. Context
LTR resources (models and feature stores) are both Managed Resources and are
backed by ZooKeeper when running in SolrCloud mode.
The [Solr Ref guide
states|[https://solr.apache.org/guide/solr/latest/query-guide/learning-to-rank.html#applying-changes]:]
??Changes made to managed resources are not applied to the active Solr
components until the Solr collection (or Solr core in single server mode) is
reloaded.??
However, updates to LTR resources are inconsistent across nodes in SolrCloud
mode before a collection reload. The node that handles the update request also
updates its in-memory store, resulting in inconsistent state between nodes
temporarily.
Note: SOLR-17132 describes similar behavior and was closed by its reporter. The
underlying cross-node inconsistency was never addressed.
h3. Example
1. Solr running in SolrCloud mode (example of 3 nodes)
2. An update is made to a model or feature store (PUT /schema/feature-store)
3. The update mutates the receiving node's in-memory map, then persists the
change in ZooKeeper
4. A collection reload causes each node to have an up-to-date view of the
models and features.
The issue is that between steps 3 and 4, 1/3 nodes have the updated view, and
the other 2/3 have a stale view. This is inconsistent with the ref guide which
implies that no change should be active until the collection is reloaded.
h3. Requirement
Document the behavior and/or contribute a fix so that all nodes get a
consistent view of the change (either immediately, or only upon collection
reload).
I have reproduced this with unit tests locally and am happy to share or
contribute them.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]