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

Two same new field with and without Term vector make an IllegalStateException

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 2.1
    • Fix Version/s: None
    • Component/s: core/index
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      On a empty index, adding a document with two fields with the same name but with different term vector option fail. The field with TermVector.WITH_POSITIONS_OFFSETS is correctly indexed, as the offset are correclty extracted. The field with TermVector.NO is not. The TermVectorsWriter tries to add offset info given to the data of the filedinfo from the "fnm" file, but the DocumentWriter didn't prepared offset datas as it gets its info from the field itself, not from the fieldinfo.

      Attaching a patch with a test. The test without the fix make this stack trace :

      java.lang.IllegalStateException: Trying to write offsets that are null!
      at org.apache.lucene.index.TermVectorsWriter.writeField(TermVectorsWriter.java:311)
      at org.apache.lucene.index.TermVectorsWriter.closeField(TermVectorsWriter.java:142)
      at org.apache.lucene.index.TermVectorsWriter.closeDocument(TermVectorsWriter.java:100)
      at org.apache.lucene.index.TermVectorsWriter.close(TermVectorsWriter.java:240)
      at org.apache.lucene.index.DocumentWriter.writePostings(DocumentWriter.java:365)
      at org.apache.lucene.index.DocumentWriter.addDocument(DocumentWriter.java:114)
      at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:618)
      at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:601)
      at org.apache.lucene.index.TestDocumentWriter.testTermVector(TestDocumentWriter.java:147)

      1. bugfix.patch
        4 kB
        Nicolas Lalevée
      2. LUCENE-766-r608138.patch
        1 kB
        Nicolas Lalevée

        Activity

        Hide
        gsingers Grant Ingersoll added a comment -

        Hi Nicolas,

        Can you still produce this against the trunk now with the latest changes? There has been quite a bit of rework...

        Show
        gsingers Grant Ingersoll added a comment - Hi Nicolas, Can you still produce this against the trunk now with the latest changes? There has been quite a bit of rework...
        Hide
        hibou Nicolas Lalevée added a comment -

        well, I have attached a patch with a test. Add the test and you'll see if it has been fixed

        Show
        hibou Nicolas Lalevée added a comment - well, I have attached a patch with a test. Add the test and you'll see if it has been fixed
        Hide
        hibou Nicolas Lalevée added a comment -

        Finally I ran the test against the trunk. And the test is successful.
        So here is the patch with just the unit test.

        Show
        hibou Nicolas Lalevée added a comment - Finally I ran the test against the trunk. And the test is successful. So here is the patch with just the unit test.
        Hide
        doronc Doron Cohen added a comment -

        The test passes for me too.
        I will add the test anyhow and resolve this issue.

        Show
        doronc Doron Cohen added a comment - The test passes for me too. I will add the test anyhow and resolve this issue.
        Hide
        doronc Doron Cohen added a comment -

        Issue was apparently solved along the way.
        Test committed.
        Thanks Nicolas!

        Show
        doronc Doron Cohen added a comment - Issue was apparently solved along the way. Test committed. Thanks Nicolas!

          People

          • Assignee:
            doronc Doron Cohen
            Reporter:
            hibou Nicolas Lalevée
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development