[jira] [Updated] (LUCENE-6049) Cryptic exception if all docs in a segment hit non-aborting exceptions before adding their doc values

2014-11-05 Thread Michael McCandless (JIRA)

 [ 
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

2014-11-05 Thread Michael McCandless (JIRA)

 [ 
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

2014-11-05 Thread Michael McCandless (JIRA)

 [ 
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