Viktor Kuzmin created CASSANDRA-13215:
-----------------------------------------
Summary: 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
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.3.15#6346)