[
https://issues.apache.org/jira/browse/CASSANDRA-13215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Marcus Eriksson updated CASSANDRA-13215:
----------------------------------------
Fix Version/s: 4.x
3.11.x
Reproduced In: 3.10, 3.9, 3.7 (was: 3.7, 3.9, 3.10)
Status: Patch Available (was: Open)
Reworked patch here:
https://github.com/krummas/cassandra/commits/marcuse/13215-version2
https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/400/
https://circleci.com/gh/krummas/cassandra/166
I might change it slightly during the day, but if you want to start reviewing
it should be ok
> Cassandra nodes startup time 20x more after upgarding to 3.x
> ------------------------------------------------------------
>
> Key: CASSANDRA-13215
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13215
> Project: Cassandra
> Issue Type: Improvement
> Components: Core
> Environment: Cluster setup: two datacenters (dc-main, dc-backup).
> dc-main - 9 servers, no vnodes
> dc-backup - 6 servers, vnodes
> Reporter: Viktor Kuzmin
> Assignee: Marcus Eriksson
> Priority: Major
> Fix For: 3.11.x, 4.x
>
> Attachments: simple-cache.patch
>
>
> CompactionStrategyManage.getCompactionStrategyIndex is called on each sstable
> at startup. And this function calls StorageService.getDiskBoundaries. And
> getDiskBoundaries calls AbstractReplicationStrategy.getAddressRanges.
> It appears that last function can be really slow. In our environment we have
> 1545 tokens and with NetworkTopologyStrategy it can make 1545*1545
> computations in worst case (maybe I'm wrong, but it really takes lot's of
> cpu).
> Also this function can affect runtime later, cause it is called not only
> during startup.
> I've tried to implement simple cache for getDiskBoundaries results and now
> startup time is about one minute instead of 25m, but I'm not sure if it's a
> good solution.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]