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

CloseableThreadLocal should allow null Objects

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.4.1
    • 2.9
    • modules/analysis
    • None
    • New, Patch Available

    Description

      CloseableThreadLocal does not allow null Objects in its get() method, but does nothing to prevent them in set(Object). The comment in get() before assert v != null is irrelevant - the application might have passed null.

      Null is an important value for Analyzers. Since tokenStreams (a ThreadLocal private member in Analyzer) is not accessible by extending classes, the only way for an Analyzer to reset the tokenStreams is by calling setPreviousTokenStream(null).

      I will post a patch w/ a test

      Attachments

        1. LUCENE-1805.patch
          2 kB
          Shai Erera
        2. LUCENE-1805.patch
          2 kB
          Michael McCandless

        Activity

          People

            mikemccand Michael McCandless
            shaie Shai Erera
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: