You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Greg Miller (Jira)" <ji...@apache.org> on 2022/04/28 14:39:00 UTC

[jira] [Updated] (LUCENE-10544) Should ExitableTermsEnum wrap postings and impacts?

     [ https://issues.apache.org/jira/browse/LUCENE-10544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Greg Miller updated LUCENE-10544:
---------------------------------
    Description: 
While looking into options for LUCENE-10151, I noticed that {{ExitableDirectoryReader}} doesn't actually do any timeout checking once you start iterating postings/impacts. It *does* create a {{ExitableTermsEnum}} wrapper when loading a {{{}TermsEnum{}}}, but that wrapper doesn't do anything to wrap postings or impacts. So timeouts will be enforced when moving to the "next" term, but not when iterating the postings/impacts associated with a term.

I think we ought to wrap the postings/impacts as well with some form of timeout checking so timeouts can be enforced on long-running queries. I'm not sure why this wasn't done originally (back in 2014), but it was questioned back in 2020 on the original Jira SOLR-5986. Does anyone know of a good reason why we shouldn't enforce timeouts in this way?

Related, we may also want to wrap things like {{seekExact}} and {{seekCeil}} given that only {{next}} is being wrapped currently.

  was:
While looking into options for [LUCENE-10151|https://issues.apache.org/jira/browse/LUCENE-10151], I noticed that {{ExitableDirectoryReader}} doesn't actually do any timeout checking once you start iterating postings/impact. The does create a {{ExitableTermsEnum}} wrapper when loading a {{TermsEnum}}, but that wrapper doesn't do anything to wrap postings or impact. So timeouts will be enforced when moving to the "next" term, but not when iterating the postings/impact associated with a term.

I think we ought to wrap the postings/impacts as well with some form of timeout checking so timeouts can be enforced on long-running queries. I'm not sure why this wasn't done originally (back in 2014), but it was questioned back in 2020 on the original Jira [SOLR-5986|https://issues.apache.org/jira/browse/SOLR-5986?focusedCommentId=17177009&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17177009]. Does anyone know of a good reason why we shouldn't enforce timeouts in this way?

Related, we may also want to wrap things like {{seekExact}} and {{seekCeil}} given that only {{next}} is being wrapped currently.


> Should ExitableTermsEnum wrap postings and impacts?
> ---------------------------------------------------
>
>                 Key: LUCENE-10544
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10544
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>            Reporter: Greg Miller
>            Priority: Major
>
> While looking into options for LUCENE-10151, I noticed that {{ExitableDirectoryReader}} doesn't actually do any timeout checking once you start iterating postings/impacts. It *does* create a {{ExitableTermsEnum}} wrapper when loading a {{{}TermsEnum{}}}, but that wrapper doesn't do anything to wrap postings or impacts. So timeouts will be enforced when moving to the "next" term, but not when iterating the postings/impacts associated with a term.
> I think we ought to wrap the postings/impacts as well with some form of timeout checking so timeouts can be enforced on long-running queries. I'm not sure why this wasn't done originally (back in 2014), but it was questioned back in 2020 on the original Jira SOLR-5986. Does anyone know of a good reason why we shouldn't enforce timeouts in this way?
> Related, we may also want to wrap things like {{seekExact}} and {{seekCeil}} given that only {{next}} is being wrapped currently.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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