lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shai Erera (JIRA)" <>
Subject [jira] [Created] (LUCENE-4596) DirectoryTaxonomyWriter concurrency bug
Date Fri, 07 Dec 2012 13:31:21 GMT
Shai Erera created LUCENE-4596:

             Summary: DirectoryTaxonomyWriter concurrency bug
                 Key: LUCENE-4596
             Project: Lucene - Core
          Issue Type: Bug
          Components: modules/facet
            Reporter: Shai Erera
            Assignee: Shai Erera

Mike tripped this error while running some benchmarks:

{no format}
Caused by: java.lang.ArrayIndexOutOfBoundsException: 130
        at org.apache.lucene.facet.index.streaming.CategoryParentsStream.incrementToken(
        at org.apache.lucene.facet.index.streaming.CountingListTokenizer.incrementToken(
        at org.apache.lucene.facet.index.streaming.CategoryTokenizer.incrementToken(
        at org.apache.lucene.index.DocInverterPerField.processFields(
        at org.apache.lucene.index.DocFieldProcessor.processDocument(
        at org.apache.lucene.index.DocumentsWriterPerThread.updateDocument(
        at org.apache.lucene.index.DocumentsWriter.updateDocument(
        at org.apache.lucene.index.IndexWriter.updateDocument(
        at org.apache.lucene.index.IndexWriter.addDocument(
        at org.apache.lucene.index.IndexWriter.addDocument(
        at perf.IndexThreads$

At first we thought this might be related to LUCENE-4565, but he reverted to before that commit
and still hit the exception. I modified TestDirTaxoWriter.testConcurrency to index hierarchical
categories, thinking that's the cause, but failed to reproduce.

Eventually I realized that the test doesn't call getParent(), because it tests DirTaxoWriter
concurrency, not concurrent indexing. As soon as I added a call to getParent, I hit this exception

Adding 'synchronized' to DirTaxoWriter.addCategory seems to avoid that ex.

I'll upload a patch with the modifications to the test and dig.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message