jpountz commented on issue #11676:
URL: https://github.com/apache/lucene/issues/11676#issuecomment-1307598183

   Sorry for the confusion, I was thinking of not relying on any timing info 
**at all** besides the one that is already encapsulated by the `QueryTimeout` 
object. Just relying on the fact that if we haven't hit the timeout yet, and 
then score a window that is 50% larger, then we wouldn't exceed the timeout by 
much.
   
   E.g. increasing the window by 50% on every iteration in order to limit the 
overhead of timeout checks.
    - collect 100 docs
    - collect 150 docs
    - collect 225 docs
    - collect 337 docs
    - collect 505 docs
    - collect 757 docs - Worst-case scenario: the timeout was hit right after 
starting collecting so we collected 757 docs after the timeout. Yet we had 
collected 1317 docs before the timeout, so we only exceeded the expected 
timeout by 57%.
   
   It's not very smart, but I like that:
    - It's simple.
    - It doesn't require exposing how much time is left on the `QueryTimeout` 
object, only whether the timeout was hit or not yet.


-- 
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