Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-10544

Should ExitableTermsEnum wrap postings and impacts?

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • core/index
    • None
    • New

    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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            gsmiller Greg Miller
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: