You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Nicolas Lalevée (JIRA)" <ji...@apache.org> on 2007/01/08 11:27:27 UTC

[jira] Created: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

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

                 Key: LUCENE-766
                 URL: https://issues.apache.org/jira/browse/LUCENE-766
             Project: Lucene - Java
          Issue Type: Bug
          Components: Index
    Affects Versions: 2.1
            Reporter: Nicolas Lalevée


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.

Here is the 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)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:164)
	at junit.framework.TestCase.runBare(TestCase.java:130)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

Attaching a patch with a test.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

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


[jira] Resolved: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Doron Cohen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Doron Cohen resolved LUCENE-766.
--------------------------------

       Resolution: Cannot Reproduce
    Lucene Fields: [New, Patch Available]  (was: [Patch Available, New])

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

> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>            Assignee: Doron Cohen
>         Attachments: bugfix.patch, LUCENE-766-r608138.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée updated LUCENE-766:
-----------------------------------

    Attachment: LUCENE-766-r608138.patch

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



> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>         Attachments: bugfix.patch, LUCENE-766-r608138.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Grant Ingersoll (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531237 ] 

Grant Ingersoll commented on LUCENE-766:
----------------------------------------

Hi Nicolas,

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

> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>         Attachments: bugfix.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12531239 ] 

Nicolas Lalevée commented on LUCENE-766:
----------------------------------------

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


> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>         Attachments: bugfix.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée updated LUCENE-766:
-----------------------------------

    Attachment: bugfix.patch

> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>         Attachments: bugfix.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

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


[jira] Updated: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Nicolas Lalevée (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nicolas Lalevée updated LUCENE-766:
-----------------------------------

      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)


  was:
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.

Here is the 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)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:164)
	at junit.framework.TestCase.runBare(TestCase.java:130)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)

Attaching a patch with a test.

    Lucene Fields: [New, Patch Available]  (was: [Patch Available, New])

> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>
> 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)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

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


[jira] Assigned: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Doron Cohen (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Doron Cohen reassigned LUCENE-766:
----------------------------------

    Assignee: Doron Cohen

> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>            Assignee: Doron Cohen
>         Attachments: bugfix.patch, LUCENE-766-r608138.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-766) Two same new field with and without Term vector make an IllegalStateException

Posted by "Doron Cohen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12555492#action_12555492 ] 

Doron Cohen commented on LUCENE-766:
------------------------------------

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


> Two same new field with and without Term vector make an IllegalStateException
> -----------------------------------------------------------------------------
>
>                 Key: LUCENE-766
>                 URL: https://issues.apache.org/jira/browse/LUCENE-766
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.1
>            Reporter: Nicolas Lalevée
>            Assignee: Doron Cohen
>         Attachments: bugfix.patch, LUCENE-766-r608138.patch
>
>
> 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)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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