cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-6906) Skip Replica Calculation for Range Slice on LocalStrategy Keyspace
Date Wed, 02 Apr 2014 20:09:26 GMT

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

Tyler Hobbs commented on CASSANDRA-6906:
----------------------------------------

bq. milliseconds? Something is wrong if so.

Yes, 0.1 seconds.  Here's an example trace of {{select * from system.local}} on a 15 node
cluster with vnodes enabled:
{noformat}
 activity                                                                                
       | timestamp    | source    | source_elapsed
-------------------------------------------------------------------------------------------------+--------------+-----------+----------------
                                                                              execute_cql3_query
| 15:05:55,295 | 127.0.0.1 |              0
                                                 Parsing select * from system.local LIMIT
10000; | 15:05:55,297 | 127.0.0.1 |           1884
                                                                             Preparing statement
| 15:05:55,299 | 127.0.0.1 |           3772
                                                                   Determining replicas to
query | 15:05:55,300 | 127.0.0.1 |           4435
 Executing seq scan across 3 sstables for [min(-9223372036854775808), min(-9223372036854775808)]
| 15:05:55,437 | 127.0.0.1 |         141652
                                                     Seeking to partition beginning in data
file | 15:05:55,440 | 127.0.0.1 |         145212
                                                     Seeking to partition beginning in data
file | 15:05:55,440 | 127.0.0.1 |         145274
                                                     Seeking to partition beginning in data
file | 15:05:55,440 | 127.0.0.1 |         145309
                                                              Read 1 live and 0 tombstoned
cells | 15:05:55,451 | 127.0.0.1 |         156072
                                                                    Scanned 1 rows and matched
1 | 15:05:55,451 | 127.0.0.1 |         156269
                                                                                Request complete
| 15:05:55,455 | 127.0.0.1 |         160916
{noformat}

I agree that this could probably be greatly optimized in other ways as well.

> Skip Replica Calculation for Range Slice on LocalStrategy Keyspace
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-6906
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6906
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Tyler Hobbs
>            Assignee: Tyler Hobbs
>            Priority: Minor
>             Fix For: 2.0.7, 2.1 beta2
>
>         Attachments: 6906.txt
>
>
> For vnode-enabled clusters, the "Determining replicas to query" portion of range slice
commands can be expensive.  When querying LocalStrategy keyspaces, we can safely skip this
step.  On a 15 node cluster with vnodes, skipping this saves about 100ms.  This makes a big
difference for the drivers, which frequently execute queries like "select * from system.peers"
and "select * from system.local".



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message