cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuki Morishita (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-7238) Nodetool Status performance is much slower with VNodes On
Date Tue, 26 Jan 2016 22:36:40 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-7238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15118196#comment-15118196
] 

Yuki Morishita edited comment on CASSANDRA-7238 at 1/26/16 10:36 PM:
---------------------------------------------------------------------

Yes, the problem is when tokens / nodes are many, getting value from {{StorageService#effectiveOwnership}}.
It is because the method calls heavy lifting {{TokenMetadata#getAddressMap}} inside loop.

Patch attached to move heavy process out of the loop. This will bring down the time of the
method call from couple of minuites to few hundred millisec (tested with manually crafted
TokenMetadata with 1000 ips and 256 vnodes).

||branch||testall||dtest||
|[7238-2.1|https://github.com/yukim/cassandra/tree/7238-2.1]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.1-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.1-dtest/lastCompletedBuild/testReport/]|
|[7238-2.2|https://github.com/yukim/cassandra/tree/7238-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.2-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.2-dtest/lastCompletedBuild/testReport/]|
|[7238-3.0|https://github.com/yukim/cassandra/tree/7238-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.0-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.0-dtest/lastCompletedBuild/testReport/]|
|[7238-3.3|https://github.com/yukim/cassandra/tree/7238-3.3]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.3-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.3-dtest/lastCompletedBuild/testReport/]|
|[7238-trunk|https://github.com/yukim/cassandra/tree/7238-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-trunk-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-trunk-dtest/lastCompletedBuild/testReport/]|

(tests are running)


was (Author: yukim):
Yes, the problem is when tokens / nodes are many, getting value from {{StorageService#effectiveOwnership}}.
It is because the method calls heavy lifting {{TokenMetadata#getAddressMap}} inside loop.

Patch attached to move heavy process out of the loop. This will bring down the time of the
method call from couple of minuites to few hundred millisec.

||branch||testall||dtest||
|[7238-2.1|https://github.com/yukim/cassandra/tree/7238-2.1]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.1-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.1-dtest/lastCompletedBuild/testReport/]|
|[7238-2.2|https://github.com/yukim/cassandra/tree/7238-2.2]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.2-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-2.2-dtest/lastCompletedBuild/testReport/]|
|[7238-3.0|https://github.com/yukim/cassandra/tree/7238-3.0]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.0-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.0-dtest/lastCompletedBuild/testReport/]|
|[7238-3.3|https://github.com/yukim/cassandra/tree/7238-3.3]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.3-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-3.3-dtest/lastCompletedBuild/testReport/]|
|[7238-trunk|https://github.com/yukim/cassandra/tree/7238-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-trunk-testall/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/yukim/job/yukim-7238-trunk-dtest/lastCompletedBuild/testReport/]|

(tests are running)

> Nodetool Status performance is much slower with VNodes On
> ---------------------------------------------------------
>
>                 Key: CASSANDRA-7238
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7238
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Tools
>         Environment: 1000 M1.Large Ubuntu 12.04
>            Reporter: Russell Alexander Spitzer
>            Assignee: Yuki Morishita
>            Priority: Minor
>             Fix For: 2.1.x, 2.2.x, 3.0.x, 3.x
>
>
> Nodetool status on a 1000 Node cluster without vnodes returns in several seconds. With
vnodes on (256) there are OOM errors with the default XMX of 32. Adjusting the XMX to 128
allows nodetool status to complete but the execution takes roughly 10 minutes.
> Tested
> {code}
> XMX    |      Status
> 32     |    OOM
> 64     |    OOM: GC Overhead
> 128    |    Finishes in ~10 minutes
> 500    |    Finishes in ~10 minutes
> 1000   |    Finishes in ~10 minutes
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message