[jira] [Updated] (LUCENE-6049) Cryptic exception if all docs in a segment hit non-aborting exceptions before adding their doc values
[ https://issues.apache.org/jira/browse/LUCENE-6049?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael McCandless updated LUCENE-6049: --- Component/s: core/index Description: 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. 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 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
[jira] [Updated] (LUCENE-6049) Cryptic exception if all docs in a segment hit non-aborting exceptions before adding their doc values
[ 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 Patch w/ test and fix. I think we have to move away from this dangerous {{FieldInfos.addOrUpdate(String,IndexableFieldType)}} method, but this is just a baby step (fixing it to not carry over DocValuesType). 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
[jira] [Updated] (LUCENE-6049) Cryptic exception if all docs in a segment hit non-aborting exceptions before adding their doc values
[ 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