cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Marcus Eriksson (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13215) Cassandra nodes startup time 20x more after upgarding to 3.x
Date Wed, 01 Nov 2017 05:10:00 GMT

     [ 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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message