[ 
https://issues.apache.org/jira/browse/LUCENE-6049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael McCandless updated LUCENE-6049:
---------------------------------------
    Attachment: LUCENE-6049.patch

OK I managed to nuke the horrible 
FieldInfos.addOrUpdate(String,IndexableFieldType) method.

I also renamed docValueType -> docValuesType; I'll leave that out when
I backport to 4.10.3.  In fact for 4.10.x I think I'll just do my
original (less risky) patch, just removing updating of DocValuesType
from FieldInfos.addOrUpdate.


> 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, 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