Hi lucene-users, We use the lucene-replicator to have a single indexing node push commits and NRT updates to a set of replicas.
Currently, each replica has the full dataset - there is no sharding. We use a SearcherLifetimeManager to try to provide consistent pagination over results. So when we present the first page of results, we return the result of `record(IndexSearcher)` to the client, with the expectation that at a later time (but not too much later) they might request page 2 of results with version X. This works fine for a single instance, since the SearcherLifetimeManager keeps the remembered version around. However, with multiple instances, this doesn't seem to work at all - your first request goes to replica A, who calls `record(searcher) -> X`. The second request likely goes to a different instance B, whose lifetime manager never saw a call to `record` at all - so the `acquire(X)` fails and returns null. Surely there must be a way to solve this - how do you implement consistent versioned searching like SearcherLifetimeManager, but with multiple Lucene replicas who otherwise do not coordinate about which NRT versions get opened or recorded? Thanks for any advice, Steven --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org