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

Bruno Roustant resolved SOLR-17036.
-----------------------------------
    Fix Version/s: 9.5
       Resolution: Fixed

> Lazy create VersionBucket in the update log to free memory.
> -----------------------------------------------------------
>
>                 Key: SOLR-17036
>                 URL: https://issues.apache.org/jira/browse/SOLR-17036
>             Project: Solr
>          Issue Type: Improvement
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Bruno Roustant
>            Assignee: Bruno Roustant
>            Priority: Major
>             Fix For: 9.5
>
>          Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> Each time an UpdateLog is created for a SolrCore, its VersionInfo creates a 
> large array of 65536 VersionBucket. This takes 1.5 MB in memory even for an 
> empty core (computed with RamUsageEstimator). So when the number of core 
> increases, this memory starts to weight.
> We propose to modify VersionInfo to not create the large array of 
> VersionBucket at initialization. Instead start with a hash map, and replace 
> it by the array if it grows beyond the threshold. In addition, BucketVersion 
> instances are created lazily.
> As a result
> - Empty cores require much less memory.
> - Cores with no update will not fill the map.
> - Cores with less updates before they are closed will stay with a small sized 
> map.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to