[ 
https://issues.apache.org/jira/browse/LUCENE-6049?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14198158#comment-14198158
 ] 

Michael McCandless commented on LUCENE-6049:
--------------------------------------------

Actually I'm going to try to nuke FieldInfos.addOrUpdate entirely: this is a 
scary method and it has caused too many bugs over the years.

> Cryptic exception if all docs in a segment hit non-aborting exceptions before 
> adding their doc values
> -----------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-6049
>                 URL: https://issues.apache.org/jira/browse/LUCENE-6049
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: core/index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 4.10.3, Trunk, 5.x
>
>         Attachments: LUCENE-6049.patch
>
>
> I hit this while working on LUCENE-6005:
> If you add a document with a single field that's both indexed and has doc 
> values, and during inversion it hits a non-aborting exception, and all docs 
> for a given segment had this happen, then you'll hit this confusing exception:
> {noformat}
> java.lang.AssertionError: segment=_0(6.0.0):C2: field="test" has docValues 
> but did not write them
>       at 
> __randomizedtesting.SeedInfo.seed([21BFA52E65A19C81:3A824781C0F77629]:0)
>       at 
> org.apache.lucene.index.DefaultIndexingChain.writeDocValues(DefaultIndexingChain.java:146)
>       at 
> org.apache.lucene.index.DefaultIndexingChain.flush(DefaultIndexingChain.java:93)
>       at 
> org.apache.lucene.index.DocumentsWriterPerThread.flush(DocumentsWriterPerThread.java:440)
>       at 
> org.apache.lucene.index.DocumentsWriter.doFlush(DocumentsWriter.java:511)
>       at 
> org.apache.lucene.index.DocumentsWriter.flushAllThreads(DocumentsWriter.java:622)
>       at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3016)
>       at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:2992)
>       at org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:946)
>       at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:991)
>       at 
> org.apache.lucene.index.TestDocValuesIndexing.testExcIndexingDocBeforeDocValues(TestDocValuesIndexing.java:927)
> {noformat}
> The good news here is that exception is new from LUCENE-6019 and it prevents 
> this case from causing index corruption, but the bad news is, you shouldn't 
> even get an exception writing the segment in the first place.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to