[
https://issues.apache.org/jira/browse/SOLR-17076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17788460#comment-17788460
]
ASF subversion and git services commented on SOLR-17076:
--------------------------------------------------------
Commit 8277c131eab3d54d0c8ae3f18b8caa71176bb37d in solr's branch
refs/heads/branch_9x from patsonluk
[ https://gitbox.apache.org/repos/asf?p=solr.git;h=8277c131eab ]
SOLR-17076: Optimize `OrderedNodePlacementPlugin#getAllReplicasOnNode` (#2076)
* 1. Changed getAllReplicasOnNode to just return a copy of `allReplicas` field,
which keeps track of all replicas. Instead of computing a new list every time.
2. Added a getAllReplicaCount method to avoid creating new list of replicas if
only the count is required
* ./gradlew tidy
* minor refactoring
> Replica Placement could be slow for new collection creation with high amount
> of shards in a cluster with plenty of replicas
> ---------------------------------------------------------------------------------------------------------------------------
>
> Key: SOLR-17076
> URL: https://issues.apache.org/jira/browse/SOLR-17076
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: SolrCloud
> Affects Versions: 9.3
> Reporter: Patson Luk
> Priority: Major
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> It's found in our cluster with hundreds of thousands of replicas that
> collection creation is slow when the new collection has thousands of shards.
> In particular there are 4 mins+ computation time spent between the
> [collection initial
> creation|https://github.com/apache/solr/blob/ebcb3b92f6f0b2736d312a83de9d2ccadc0980aa/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java#L115]
> and [the SliceMutator creating
> slice|https://github.com/apache/solr/blob/ebcb3b92f6f0b2736d312a83de9d2ccadc0980aa/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java#L336]
> With some profiling and metrics checking, it appears that during those 4
> mins, almost all of the CPU time is spent in
> {{org.apache.solr.cluster.placement.plugins.OrderedNodePlacementPlugin$WeightedNode.getAllReplicasOnNode}}.
> For each new shard, it invokes this method to compute the weight which
> iterates on all collection and shard, with creation of a new replica set.
> This computation is costly for our environment based on the profiler and CPU
> metrics.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]