[
https://issues.apache.org/jira/browse/SOLR-17036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17793293#comment-17793293
]
ASF subversion and git services commented on SOLR-17036:
--------------------------------------------------------
Commit 195d18223f797824e0867101490358861cc1b978 in solr's branch
refs/heads/main from Bruno Roustant
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=195d18223f7 ]
SOLR-17036: Update log lazy creates VersionBucket and highest field removed.
(#2021)
> 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
> 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: [email protected]
For additional commands, e-mail: [email protected]