jpountz commented on PR #14443:
URL: https://github.com/apache/lucene/pull/14443#issuecomment-2783139852

   Thanks for tackling this!
   
   > To incrementally refresh through multiple commit points until searcher is 
current with its directory:
   > 
   > [...]
   > Invoke maybeRefresh() or maybeRefreshBlocking in a loop until 
isSearcherCurrent() returns true.
   
   Is this the way we anticipate this to be used? I had imagined that the 
application would not change the way it refreshes and still call it on a 
schedule, but commit more frequently and retain multiple commits. E.g. commit 
every 30 seconds, retain commits for 300 seconds and refresh every 120 seconds 
(these numbers are just for the sake of the example). So every 120 seconds, 
SearcherManager would pick the most recent commit that differs by less than X 
GB (configurable based on the amount of trashing that the app can sustain 
between consecutive point-in-time views of the index) from the current 
point-in-time reader, or the commit that differs by the least amount of data if 
there is no such commit (typically the oldest commit). Most of the time, 
`SearcherManager` would pick the newest commit point, but under heavy merging 
it may decide to lag behind the latest commit point a bit for the sake of 
smoothing out page cache trashing.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to