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

Adrien Grand updated LUCENE-2357:
---------------------------------

    Attachment: LUCENE-2357.patch

New Patch with two minor modifications:
 - I replaced {{PackedInts.bitsRequired(numDocs)}} with 
{{PackedInts.bitsRequired(Math.max(0, numDocs - 1))}} in {{buildDirectDocMap}} 
since the highest doc id mapping is {{numDocs - 1}},
 - {{Since DocMap.get}} now relies on {{liveDocs}} to return the doc mapping, I 
added an assert in {{build}} to ensure that {{liveDocs}} is never null when 
numDeletedDocs > 0.
                
> Reduce transient RAM usage while merging by using packed ints array for docID 
> re-mapping
> ----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-2357
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2357
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>            Priority: Minor
>             Fix For: 4.1
>
>         Attachments: LUCENE-2357.patch, LUCENE-2357.patch, LUCENE-2357.patch, 
> LUCENE-2357.patch, LUCENE-2357.patch
>
>
> We allocate this int[] to remap docIDs due to compaction of deleted ones.
> This uses alot of RAM for large segment merges, and can fail to allocate due 
> to fragmentation on 32 bit JREs.
> Now that we have packed ints, a simple fix would be to use a packed int 
> array... and maybe instead of storing abs docID in the mapping, we could 
> store the number of del docs seen so far (so the remap would do a lookup then 
> a subtract).  This may add some CPU cost to merging but should bring down 
> transient RAM usage quite a bit.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to