You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Elliot Metsger (JIRA)" <ji...@apache.org> on 2009/08/27 22:34:59 UTC

[jira] Issue Comment Edited: (LUCENE-1521) "fdx size mismatch" exception in StoredFieldsWriter.closeDocStore() when closing index with 500M documents

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

Elliot Metsger edited comment on LUCENE-1521 at 8/27/09 1:33 PM:
-----------------------------------------------------------------

I received this on 2.4.1, not sure if it is this bug or not:
Exception in thread "main" java.lang.RuntimeException: after flush: fdx size mismatch: 10 docs vs 0 length in bytes of _sl3.fdx
        at org.apache.lucene.index.StoredFieldsWriter.closeDocStore(StoredFieldsWriter.java:94)
        at org.apache.lucene.index.DocFieldConsumers.closeDocStore(DocFieldConsumers.java:83)
        at org.apache.lucene.index.DocFieldProcessor.closeDocStore(DocFieldProcessor.java:47)
        at org.apache.lucene.index.DocumentsWriter.closeDocStore(DocumentsWriter.java:367)
        at org.apache.lucene.index.DocumentsWriter.flush(DocumentsWriter.java:567)
        at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3540)
        at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3450)
        at org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:3363)
        at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3408)
        at edu.jhu.library.ivoa.VOImageAccessUrlDownload.go(VOImageAccessUrlDownload.java:357)
        at edu.jhu.library.ivoa.VOImageAccessUrlDownload.main(VOImageAccessUrlDownload.java:103)

I'm working with over 500,000 docs in this particular index.

      was (Author: emetsger):
    I received this on 2.4.1, not sure if it is this bug or not:
Exception in thread "main" java.lang.RuntimeException: after flush: fdx size mismatch: 10 docs vs 0 length in bytes of _sl3.fdx
        at org.apache.lucene.index.StoredFieldsWriter.closeDocStore(StoredFieldsWriter.java:94)
        at org.apache.lucene.index.DocFieldConsumers.closeDocStore(DocFieldConsumers.java:83)
        at org.apache.lucene.index.DocFieldProcessor.closeDocStore(DocFieldProcessor.java:47)
        at org.apache.lucene.index.DocumentsWriter.closeDocStore(DocumentsWriter.java:367)
        at org.apache.lucene.index.DocumentsWriter.flush(DocumentsWriter.java:567)
        at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3540)
        at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3450)
        at org.apache.lucene.index.IndexWriter.prepareCommit(IndexWriter.java:3363)
        at org.apache.lucene.index.IndexWriter.commit(IndexWriter.java:3408)
        at edu.jhu.library.ivoa.VOImageAccessUrlDownload.go(VOImageAccessUrlDownload.java:357)
        at edu.jhu.library.ivoa.VOImageAccessUrlDownload.main(VOImageAccessUrlDownload.java:103)

  
> "fdx size mismatch" exception in StoredFieldsWriter.closeDocStore() when closing index with 500M documents
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: LUCENE-1521
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1521
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>    Affects Versions: 2.4
>            Reporter: Shon Vella
>            Assignee: Michael McCandless
>            Priority: Critical
>             Fix For: 2.4.1, 2.9
>
>
> When closing index that contains 500,000,000 randomly generated documents, an exception is thrown:
> java.lang.RuntimeException: after flush: fdx size mismatch: 500000000 docs vs 4000000004 length in bytes of _0.fdx
> 	at org.apache.lucene.index.StoredFieldsWriter.closeDocStore(StoredFieldsWriter.java:94)
> 	at org.apache.lucene.index.DocFieldConsumers.closeDocStore(DocFieldConsumers.java:83)
> 	at org.apache.lucene.index.DocFieldProcessor.closeDocStore(DocFieldProcessor.java:47)
> 	at org.apache.lucene.index.DocumentsWriter.closeDocStore(DocumentsWriter.java:367)
> 	at org.apache.lucene.index.IndexWriter.flushDocStores(IndexWriter.java:1688)
> 	at org.apache.lucene.index.IndexWriter.doFlush(IndexWriter.java:3518)
> 	at org.apache.lucene.index.IndexWriter.flush(IndexWriter.java:3442)
> 	at org.apache.lucene.index.IndexWriter.closeInternal(IndexWriter.java:1623)
> 	at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1588)
> 	at org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1562)
>         ...
> This appears to be a bug at StoredFieldsWriter.java:93:
>       if (4+state.numDocsInStore*8 != state.directory.fileLength(state.docStoreSegmentName + "." + IndexFileNames.FIELDS_INDEX_EXTENSION))
> where the multiplication by 8 is causing integer overflow. The fix would be to cast state.numDocsInStore to long before multiplying.
> It appears that this is another instance of the mistake that caused bug LUCENE-1519. I did a cursory seach for \*8 against the code to see if there might be yet more instances of the same mistake, but found none. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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