[jira] [Commented] (CASSANDRA-15094) Add a config for snitch duaring config init .
[ https://issues.apache.org/jira/browse/CASSANDRA-15094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825638#comment-16825638 ] maxwellguo commented on CASSANDRA-15094: [~jay.zhuang] can you help to look at this issue ?Thank you very much . > Add a config for snitch duaring config init . > -- > > Key: CASSANDRA-15094 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15094 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: maxwellguo >Assignee: maxwellguo >Priority: Normal > Attachments: trunk-15094.txt > > > I wander that if the DES config of dynamic_snitch should be Configurable in > the cassandra.yaml config file ? Because the default value of dynamic_snitch > is true . -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-15072) Incomplete range results during 2.X -> 3.11.4 upgrade
[ https://issues.apache.org/jira/browse/CASSANDRA-15072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Eggleston updated CASSANDRA-15072: Fix Version/s: 3.11.5 3.0.19 Since Version: 3.0.0 Status: Resolved (was: Ready to Commit) Resolution: Fixed Committed to 3.0 as [d27c3ad0d2d006a5f156f0a2f2a24286d31c5069|https://github.com/apache/cassandra/commit/d27c3ad0d2d006a5f156f0a2f2a24286d31c5069] and merged up. Thanks! > Incomplete range results during 2.X -> 3.11.4 upgrade > - > > Key: CASSANDRA-15072 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15072 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Coordination >Reporter: Muir Manders >Assignee: Blake Eggleston >Priority: High > Fix For: 3.0.19, 3.11.5 > > Attachments: eriksw-repro.sh > > > Hello > During an upgrade from 2.1.17 to 3.11.4, our application starting getting > back incomplete results for range queries. When all nodes were upgraded > (before upgrading sstables), we stopped getting incomplete results. I was > able to reproduce it and listed steps below. It seems to require the random > partitioner and compact storage to reproduce reliably. It also reproduces > coming from 2.1.21 and 2.2.14. You seem to get the bad behavior when an old > node is your coordinator and it has to talk to an upgraded replica. > {noformat} > ccm create test -v 2.1.17 -n 3 > ccm updateconf 'partitioner: org.apache.cassandra.dht.RandomPartitioner' > ccm node1 updateconf 'initial_token: 0' > ccm node2 updateconf 'initial_token: 56713727820156410577229101238628035242' > ccm node3 updateconf 'initial_token: 113427455640312821154458202477256070484' > ccm start > ccm node1 cqlsh < CREATE KEYSPACE test WITH REPLICATION = {'class': 'SimpleStrategy', > 'replication_factor': 3}; > CREATE COLUMNFAMILY test.test ( > id text, > foo text, > bar text, > PRIMARY KEY (id) > ) WITH COMPACT STORAGE; > CONSISTENCY QUORUM; > INSERT INTO test.test (id, foo, bar) values ('1', 'hi', 'there'); > INSERT INTO test.test (id, foo, bar) values ('2', 'hi', 'there'); > SCHEMA > ccm node1 stop > ccm node1 setdir -v 3.11.4 > ccm node1 start > ccm node2 stop > ccm node2 setdir -v 3.11.4 > ccm node2 start > # here I use 3.X cqlsh to connect to 2.X node so I can lower the page size (to > # allow for simpler test setup) > cqlsh 127.0.0.3 < CONSISTENCY QUORUM; > PAGING 2; > select * from test.test; > QUERY > {noformat} > This results in: > {noformat} > Page size: 2 > id | bar | foo > +---+- > 2 | there | hi > (1 rows) > {noformat} > Running it against the upgraded node (node1): > {noformat} > Page size: 2 > id | bar | foo > +---+- > 2 | there | hi > 1 | there | hi > (2 rows) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-15072) Incomplete range results during 2.X -> 3.11.4 upgrade
[ https://issues.apache.org/jira/browse/CASSANDRA-15072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Eggleston updated CASSANDRA-15072: Status: Ready to Commit (was: Review In Progress) > Incomplete range results during 2.X -> 3.11.4 upgrade > - > > Key: CASSANDRA-15072 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15072 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Coordination >Reporter: Muir Manders >Assignee: Blake Eggleston >Priority: High > Attachments: eriksw-repro.sh > > > Hello > During an upgrade from 2.1.17 to 3.11.4, our application starting getting > back incomplete results for range queries. When all nodes were upgraded > (before upgrading sstables), we stopped getting incomplete results. I was > able to reproduce it and listed steps below. It seems to require the random > partitioner and compact storage to reproduce reliably. It also reproduces > coming from 2.1.21 and 2.2.14. You seem to get the bad behavior when an old > node is your coordinator and it has to talk to an upgraded replica. > {noformat} > ccm create test -v 2.1.17 -n 3 > ccm updateconf 'partitioner: org.apache.cassandra.dht.RandomPartitioner' > ccm node1 updateconf 'initial_token: 0' > ccm node2 updateconf 'initial_token: 56713727820156410577229101238628035242' > ccm node3 updateconf 'initial_token: 113427455640312821154458202477256070484' > ccm start > ccm node1 cqlsh < CREATE KEYSPACE test WITH REPLICATION = {'class': 'SimpleStrategy', > 'replication_factor': 3}; > CREATE COLUMNFAMILY test.test ( > id text, > foo text, > bar text, > PRIMARY KEY (id) > ) WITH COMPACT STORAGE; > CONSISTENCY QUORUM; > INSERT INTO test.test (id, foo, bar) values ('1', 'hi', 'there'); > INSERT INTO test.test (id, foo, bar) values ('2', 'hi', 'there'); > SCHEMA > ccm node1 stop > ccm node1 setdir -v 3.11.4 > ccm node1 start > ccm node2 stop > ccm node2 setdir -v 3.11.4 > ccm node2 start > # here I use 3.X cqlsh to connect to 2.X node so I can lower the page size (to > # allow for simpler test setup) > cqlsh 127.0.0.3 < CONSISTENCY QUORUM; > PAGING 2; > select * from test.test; > QUERY > {noformat} > This results in: > {noformat} > Page size: 2 > id | bar | foo > +---+- > 2 | there | hi > (1 rows) > {noformat} > Running it against the upgraded node (node1): > {noformat} > Page size: 2 > id | bar | foo > +---+- > 2 | there | hi > 1 | there | hi > (2 rows) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] branch cassandra-3.11 updated (7e64003 -> 839fc7e)
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a change to branch cassandra-3.11 in repository https://gitbox.apache.org/repos/asf/cassandra.git. from 7e64003 Merge branch 'cassandra-3.0' into cassandra-3.11 new d27c3ad Fix mixed mode partition range scans with limit new 839fc7e Merge branch 'cassandra-3.0' into cassandra-3.11 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CHANGES.txt| 1 + src/java/org/apache/cassandra/db/ReadCommand.java | 2 + .../org/apache/cassandra/db/filter/DataLimits.java | 19 .../upgrade/CompactStorage2to3UpgradeTest.java | 102 + 4 files changed, 124 insertions(+) create mode 100644 test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch cassandra-3.11 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 839fc7e36f6f949b9e2fa6c786abc05816ecd87f Merge: 7e64003 d27c3ad Author: Blake Eggleston AuthorDate: Wed Apr 24 11:37:39 2019 -0700 Merge branch 'cassandra-3.0' into cassandra-3.11 CHANGES.txt| 1 + src/java/org/apache/cassandra/db/ReadCommand.java | 2 + .../org/apache/cassandra/db/filter/DataLimits.java | 19 .../upgrade/CompactStorage2to3UpgradeTest.java | 102 + 4 files changed, 124 insertions(+) diff --cc CHANGES.txt index c04ad58,4f76c70..9ce2972 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,7 +1,9 @@@ -3.0.19 +3.11.5 + * Fixed nodetool cfstats printing index name twice (CASSANDRA-14903) + * Add flag to disable SASI indexes, and warnings on creation (CASSANDRA-14866) +Merged from 3.0: + * Fix mixed mode partition range scans with limit (CASSANDRA-15072) * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907) - * For nodetool listsnapshots output, put spaces between columns, and increase snapshot padding (CASSANDRA-14876) * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053) * Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058) * Improve `nodetool status -r` speed (CASSANDRA-14847) diff --cc src/java/org/apache/cassandra/db/filter/DataLimits.java index 205d745,46a1c6d..c6918eb --- a/src/java/org/apache/cassandra/db/filter/DataLimits.java +++ b/src/java/org/apache/cassandra/db/filter/DataLimits.java @@@ -80,29 -77,31 +80,48 @@@ public abstract class DataLimit public static DataLimits cqlLimits(int cqlRowLimit) { -return new CQLLimits(cqlRowLimit); +return cqlRowLimit == NO_LIMIT ? NONE : new CQLLimits(cqlRowLimit); } + // mixed mode partition range scans on compact storage tables without clustering columns coordinated by 2.x are + // returned as one (cql) row per cell, but we need to count each partition as a single row. So we just return a + // CQLLimits instance that doesn't count rows towards it's limit. See CASSANDRA-15072 + public static DataLimits legacyCompactStaticCqlLimits(int cqlRowLimits) + { + return new CQLLimits(cqlRowLimits) { + public Counter newCounter(int nowInSec, boolean assumeLiveData, boolean countPartitionsWithOnlyStaticData, boolean enforceStrictLiveness) + { + return new CQLCounter(nowInSec, assumeLiveData, countPartitionsWithOnlyStaticData, enforceStrictLiveness) { + public Row applyToRow(Row row) + { + // noop: only count full partitions + return row; + } + }; + } + }; + } + public static DataLimits cqlLimits(int cqlRowLimit, int perPartitionLimit) { -return new CQLLimits(cqlRowLimit, perPartitionLimit); +return cqlRowLimit == NO_LIMIT && perPartitionLimit == NO_LIMIT + ? NONE + : new CQLLimits(cqlRowLimit, perPartitionLimit); +} + +private static DataLimits cqlLimits(int cqlRowLimit, int perPartitionLimit, boolean isDistinct) +{ +return cqlRowLimit == NO_LIMIT && perPartitionLimit == NO_LIMIT && !isDistinct + ? NONE + : new CQLLimits(cqlRowLimit, perPartitionLimit, isDistinct); +} + +public static DataLimits groupByLimits(int groupLimit, + int groupPerPartitionLimit, + int rowLimit, + AggregationSpecification groupBySpec) +{ +return new CQLGroupByLimits(groupLimit, groupPerPartitionLimit, rowLimit, groupBySpec); } public static DataLimits distinctLimits(int cqlRowLimit) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 79766f738870cc98a2ecc3fb8ca9f250b081f386 Merge: 5e84ee3 839fc7e Author: Blake Eggleston AuthorDate: Wed Apr 24 11:39:22 2019 -0700 Merge branch 'cassandra-3.11' into trunk - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] branch trunk updated (5e84ee3 -> 79766f7)
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git. from 5e84ee3 Merge branch 'cassandra-3.11' into trunk new d27c3ad Fix mixed mode partition range scans with limit new 839fc7e Merge branch 'cassandra-3.0' into cassandra-3.11 new 79766f7 Merge branch 'cassandra-3.11' into trunk The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] branch cassandra-3.0 updated: Fix mixed mode partition range scans with limit
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git The following commit(s) were added to refs/heads/cassandra-3.0 by this push: new d27c3ad Fix mixed mode partition range scans with limit d27c3ad is described below commit d27c3ad0d2d006a5f156f0a2f2a24286d31c5069 Author: Blake Eggleston AuthorDate: Thu Apr 4 14:50:12 2019 -0700 Fix mixed mode partition range scans with limit Patch by Blake Eggleston; Reviewed by Sam Tunnicliffe for CASSANDRA-15072 --- CHANGES.txt| 1 + src/java/org/apache/cassandra/db/ReadCommand.java | 2 + .../org/apache/cassandra/db/filter/DataLimits.java | 19 .../upgrade/CompactStorage2to3UpgradeTest.java | 102 + 4 files changed, 124 insertions(+) diff --git a/CHANGES.txt b/CHANGES.txt index b38ab06..4f76c70 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.19 + * Fix mixed mode partition range scans with limit (CASSANDRA-15072) * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907) * For nodetool listsnapshots output, put spaces between columns, and increase snapshot padding (CASSANDRA-14876) * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053) diff --git a/src/java/org/apache/cassandra/db/ReadCommand.java b/src/java/org/apache/cassandra/db/ReadCommand.java index fd453ef..b499daf 100644 --- a/src/java/org/apache/cassandra/db/ReadCommand.java +++ b/src/java/org/apache/cassandra/db/ReadCommand.java @@ -856,6 +856,8 @@ public abstract class ReadCommand implements ReadQuery limits = DataLimits.distinctLimits(maxResults); else if (compositesToGroup == -1) limits = DataLimits.thriftLimits(maxResults, perPartitionLimit); +else if (metadata.isStaticCompactTable()) +limits = DataLimits.legacyCompactStaticCqlLimits(maxResults); else limits = DataLimits.cqlLimits(maxResults); diff --git a/src/java/org/apache/cassandra/db/filter/DataLimits.java b/src/java/org/apache/cassandra/db/filter/DataLimits.java index 4c57a76..46a1c6d 100644 --- a/src/java/org/apache/cassandra/db/filter/DataLimits.java +++ b/src/java/org/apache/cassandra/db/filter/DataLimits.java @@ -80,6 +80,25 @@ public abstract class DataLimits return new CQLLimits(cqlRowLimit); } +// mixed mode partition range scans on compact storage tables without clustering columns coordinated by 2.x are +// returned as one (cql) row per cell, but we need to count each partition as a single row. So we just return a +// CQLLimits instance that doesn't count rows towards it's limit. See CASSANDRA-15072 +public static DataLimits legacyCompactStaticCqlLimits(int cqlRowLimits) +{ +return new CQLLimits(cqlRowLimits) { +public Counter newCounter(int nowInSec, boolean assumeLiveData, boolean countPartitionsWithOnlyStaticData, boolean enforceStrictLiveness) +{ +return new CQLCounter(nowInSec, assumeLiveData, countPartitionsWithOnlyStaticData, enforceStrictLiveness) { +public Row applyToRow(Row row) +{ +// noop: only count full partitions +return row; +} +}; +} +}; +} + public static DataLimits cqlLimits(int cqlRowLimit, int perPartitionLimit) { return new CQLLimits(cqlRowLimit, perPartitionLimit); diff --git a/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java new file mode 100644 index 000..5c45d52 --- /dev/null +++ b/test/distributed/org/apache/cassandra/distributed/upgrade/CompactStorage2to3UpgradeTest.java @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.cassandra.distributed.upgrade; + +import org.junit.Test; + +import org.ap
[jira] [Commented] (CASSANDRA-15099) Debian 10 buster: init file require PID file to be owned by root
[ https://issues.apache.org/jira/browse/CASSANDRA-15099?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825499#comment-16825499 ] Yury Vidineev commented on CASSANDRA-15099: --- Looks like fix is easy 18a19 > USER=cassandra 101c102,103 < start-stop-daemon -K -p "$PIDFILE" -R TERM/30/KILL/5 >/dev/null --- > > start-stop-daemon -K -p "$PIDFILE" -R TERM/30/KILL/5 >/dev/null --user >$USER > Debian 10 buster: init file require PID file to be owned by root > > > Key: CASSANDRA-15099 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15099 > Project: Cassandra > Issue Type: Bug > Components: Packaging >Reporter: Yury Vidineev >Priority: Normal > > Restarting Cassandra: cassandrastart-stop-daemon: matching only on non-root > pidfile /var/run/cassandra/cassandra.pid is insecure > failed! -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-15099) Debian 10 buster: init file require PID file to be owned by root
Yury Vidineev created CASSANDRA-15099: - Summary: Debian 10 buster: init file require PID file to be owned by root Key: CASSANDRA-15099 URL: https://issues.apache.org/jira/browse/CASSANDRA-15099 Project: Cassandra Issue Type: Bug Components: Packaging Reporter: Yury Vidineev Restarting Cassandra: cassandrastart-stop-daemon: matching only on non-root pidfile /var/run/cassandra/cassandra.pid is insecure failed! -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-15098) Endpoints no longer owning tokens are not removed for vnode
[ https://issues.apache.org/jira/browse/CASSANDRA-15098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16825447#comment-16825447 ] Jay Zhuang commented on CASSANDRA-15098: Here is an utest to reproduce the problem and a purposed fix, please review: | Branch | uTest | | [15098-3.0|https://github.com/cooldoger/cassandra/tree/15098-3.0] | [!https://circleci.com/gh/cooldoger/cassandra/tree/15098-3.0.svg?style=svg!|https://circleci.com/gh/cooldoger/cassandra/tree/15098-3.0] | | [15098-3.11|https://github.com/cooldoger/cassandra/tree/15098-3.11] | [!https://circleci.com/gh/cooldoger/cassandra/tree/15098-3.11.svg?style=svg!|https://circleci.com/gh/cooldoger/cassandra/tree/15098-3.11] | | [15098-trunk|https://github.com/cooldoger/cassandra/tree/15098-trunk] | [!https://circleci.com/gh/cooldoger/cassandra/tree/15098-trunk.svg?style=svg!|https://circleci.com/gh/cooldoger/cassandra/tree/15098-trunk] | > Endpoints no longer owning tokens are not removed for vnode > --- > > Key: CASSANDRA-15098 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15098 > Project: Cassandra > Issue Type: Bug > Components: Cluster/Gossip >Reporter: Jay Zhuang >Assignee: Jay Zhuang >Priority: Normal > > The logical here to remove endpoints no longer owning tokens is not working > for multiple tokens (vnode): > https://github.com/apache/cassandra/blob/06209037ea56b5a2a49615a99f1542d6ea1b2947/src/java/org/apache/cassandra/service/StorageService.java#L2505 > And it's very expensive to copy the tokenmetadata for every check. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests
[ https://issues.apache.org/jira/browse/CASSANDRA-15078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Eggleston updated CASSANDRA-15078: Status: Resolved (was: Ready to Commit) Resolution: Fixed Committed as [7d2c3c215f65ee41f86886304257647fc24b1f70 |https://github.com/apache/cassandra/commit/7d2c3c215f65ee41f86886304257647fc24b1f70], thanks. > Support cross version messaging in in-jvm upgrade dtests > > > Key: CASSANDRA-15078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15078 > Project: Cassandra > Issue Type: Improvement > Components: Test/dtest >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Normal > Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-15098) Endpoints no longer owning tokens are not removed for vnode
Jay Zhuang created CASSANDRA-15098: -- Summary: Endpoints no longer owning tokens are not removed for vnode Key: CASSANDRA-15098 URL: https://issues.apache.org/jira/browse/CASSANDRA-15098 Project: Cassandra Issue Type: Bug Components: Cluster/Gossip Reporter: Jay Zhuang Assignee: Jay Zhuang The logical here to remove endpoints no longer owning tokens is not working for multiple tokens (vnode): https://github.com/apache/cassandra/blob/06209037ea56b5a2a49615a99f1542d6ea1b2947/src/java/org/apache/cassandra/service/StorageService.java#L2505 And it's very expensive to copy the tokenmetadata for every check. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-3.11' into trunk
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 5e84ee38ebc831e83b1f4ff671a6c6b10e86d6f1 Merge: ed2d326 7e64003 Author: Blake Eggleston AuthorDate: Wed Apr 24 11:25:26 2019 -0700 Merge branch 'cassandra-3.11' into trunk CHANGES.txt | 1 + .../apache/cassandra/distributed/api/IInstance.java | 3 +++ .../cassandra/distributed/impl/AbstractCluster.java | 18 +- .../impl/DelegatingInvokableInstance.java| 12 .../apache/cassandra/distributed/impl/Instance.java | 20 .../distributed/impl/InstanceClassLoader.java| 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 64 insertions(+), 12 deletions(-) diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index 038ae8a,07fd35d..00049f2 --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -192,8 -203,11 +192,9 @@@ public class Instance extends IsolatedE try (DataOutputBuffer out = new DataOutputBuffer(1024)) { InetAddressAndPort from = broadcastAddressAndPort(); - messageOut.serialize(out, MessagingService.current_version); - deliver.accept(to, new Message(messageOut.verb.getId(), out.toByteArray(), id, MessagingService.current_version, from)); -assert from.equals(lookupAddressAndPort.apply(messageOut.from)); -InetAddressAndPort toFull = lookupAddressAndPort.apply(to); + int version = MessagingService.instance().getVersion(to); + messageOut.serialize(out, version); -deliver.accept(toFull, new Message(messageOut.verb.ordinal(), out.toByteArray(), id, version, from)); ++deliver.accept(to, new Message(messageOut.verb.getId(), out.toByteArray(), id, version, from)); } catch (IOException e) { @@@ -227,6 -239,16 +228,16 @@@ }).run(); } + public int getMessagingVersion() + { + return callsOnInstance(() -> MessagingService.current_version).call(); + } + + public void setMessagingVersion(InetAddressAndPort endpoint, int version) + { -runOnInstance(() -> MessagingService.instance().setVersion(endpoint.address, version)); ++runOnInstance(() -> MessagingService.instance().setVersion(endpoint, version)); + } + @Override public void startup(ICluster cluster) { @@@ -330,18 -349,17 +341,19 @@@ for (int i = 0; i < tokens.size(); i++) { InetAddressAndPort ep = hosts.get(i); -Gossiper.instance.initializeNodeUnsafe(ep.address, hostIds.get(i), 1); -Gossiper.instance.injectApplicationState(ep.address, +Gossiper.instance.initializeNodeUnsafe(ep, hostIds.get(i), 1); +Gossiper.instance.injectApplicationState(ep, ApplicationState.TOKENS, new VersionedValue.VersionedValueFactory(partitioner).tokens(Collections.singleton(tokens.get(i; -storageService.onChange(ep.address, +storageService.onChange(ep, +ApplicationState.STATUS_WITH_PORT, +new VersionedValue.VersionedValueFactory(partitioner).normal(Collections.singleton(tokens.get(i; +storageService.onChange(ep, ApplicationState.STATUS, new VersionedValue.VersionedValueFactory(partitioner).normal(Collections.singleton(tokens.get(i; -Gossiper.instance.realMarkAlive(ep.address, Gossiper.instance.getEndpointStateForEndpoint(ep.address)); - +Gossiper.instance.realMarkAlive(ep, Gossiper.instance.getEndpointStateForEndpoint(ep)); - MessagingService.instance().setVersion(ep, MessagingService.current_version); + int version = Math.min(MessagingService.current_version, cluster.get(ep).getMessagingVersion()); -MessagingService.instance().setVersion(ep.address, version); ++MessagingService.instance().setVersion(ep, version); } // check that all nodes are in token metadata - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] branch cassandra-2.2 updated: Support cross version messaging in in-jvm upgrade dtests
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch cassandra-2.2 in repository https://gitbox.apache.org/repos/asf/cassandra.git The following commit(s) were added to refs/heads/cassandra-2.2 by this push: new 7d2c3c2 Support cross version messaging in in-jvm upgrade dtests 7d2c3c2 is described below commit 7d2c3c215f65ee41f86886304257647fc24b1f70 Author: Blake Eggleston AuthorDate: Thu Apr 4 14:39:57 2019 -0700 Support cross version messaging in in-jvm upgrade dtests Patch by Blake Eggleston; Reviewed by Alex Petrov for CASSANDRA-15078 --- CHANGES.txt| 1 + .../cassandra/distributed/api/IInstance.java | 3 +++ .../distributed/impl/AbstractCluster.java | 18 - .../impl/DelegatingInvokableInstance.java | 12 +++ .../cassandra/distributed/impl/Instance.java | 23 -- .../distributed/impl/InstanceClassLoader.java | 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 65 insertions(+), 14 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index e887733..1cc4153 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.2.15 + * Support cross version messaging in in-jvm upgrade dtests (CASSANDRA-15078) * Fix index summary redistribution cancellation (CASSANDRA-15045) * Refactor Circle CI configuration (CASSANDRA-14806) * Fixing invalid CQL in security documentation (CASSANDRA-15020) diff --git a/test/distributed/org/apache/cassandra/distributed/api/IInstance.java b/test/distributed/org/apache/cassandra/distributed/api/IInstance.java index 8c9f962..3834093 100644 --- a/test/distributed/org/apache/cassandra/distributed/api/IInstance.java +++ b/test/distributed/org/apache/cassandra/distributed/api/IInstance.java @@ -42,4 +42,7 @@ public interface IInstance extends IIsolatedExecutor // these methods are not for external use, but for simplicity we leave them public and on the normal IInstance interface void startup(ICluster cluster); void receiveMessage(IMessage message); + +int getMessagingVersion(); +void setMessagingVersion(InetAddressAndPort endpoint, int version); } diff --git a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java index 2e759f5..1dc7a65 100644 --- a/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/AbstractCluster.java @@ -141,8 +141,9 @@ public abstract class AbstractCluster implements ICluster, { if (!isShutdown) throw new IllegalStateException(); -delegate().startup(AbstractCluster.this); +delegate.startup(AbstractCluster.this); isShutdown = false; +updateMessagingVersions(); } @Override @@ -252,6 +253,21 @@ public abstract class AbstractCluster implements ICluster, }).run(); } +private void updateMessagingVersions() +{ +for (IInstance reportTo: instances) +{ +for (IInstance reportFrom: instances) +{ +if (reportFrom == reportTo) +continue; + +int minVersion = Math.min(reportFrom.getMessagingVersion(), reportTo.getMessagingVersion()); + reportTo.setMessagingVersion(reportFrom.broadcastAddressAndPort(), minVersion); +} +} +} + /** * Will wait for a schema change AND agreement that occurs after it is created * (and precedes the invocation to waitForAgreement) diff --git a/test/distributed/org/apache/cassandra/distributed/impl/DelegatingInvokableInstance.java b/test/distributed/org/apache/cassandra/distributed/impl/DelegatingInvokableInstance.java index 27e2c04..e9e6844 100644 --- a/test/distributed/org/apache/cassandra/distributed/impl/DelegatingInvokableInstance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/DelegatingInvokableInstance.java @@ -74,6 +74,18 @@ public abstract class DelegatingInvokableInstance implements IInvokableInstance } @Override +public int getMessagingVersion() +{ +return delegate().getMessagingVersion(); +} + +@Override +public void setMessagingVersion(InetAddressAndPort endpoint, int version) +{ +delegate().setMessagingVersion(endpoint, version); +} + +@Override public IInstanceConfig config() { return delegate().config(); diff --git a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java index e37d60f..dce03ca 100644 --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassan
[cassandra] branch cassandra-3.0 updated (4a70a9a -> e9e883b)
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a change to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git. from 4a70a9a support frozen collections: list, set in cassandra-stress new 7d2c3c2 Support cross version messaging in in-jvm upgrade dtests new e9e883b Merge branch 'cassandra-2.2' into cassandra-3.0 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CHANGES.txt| 1 + .../cassandra/distributed/api/IInstance.java | 3 +++ .../distributed/impl/AbstractCluster.java | 18 - .../impl/DelegatingInvokableInstance.java | 12 +++ .../cassandra/distributed/impl/Instance.java | 23 -- .../distributed/impl/InstanceClassLoader.java | 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 65 insertions(+), 14 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-3.0' into cassandra-3.11
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch cassandra-3.11 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit 7e64003ed87213c6c185e9c2debf1677dc61c9e5 Merge: f0aef2c e9e883b Author: Blake Eggleston AuthorDate: Wed Apr 24 11:22:11 2019 -0700 Merge branch 'cassandra-3.0' into cassandra-3.11 CHANGES.txt| 1 + .../cassandra/distributed/api/IInstance.java | 3 +++ .../distributed/impl/AbstractCluster.java | 18 - .../impl/DelegatingInvokableInstance.java | 12 +++ .../cassandra/distributed/impl/Instance.java | 23 -- .../distributed/impl/InstanceClassLoader.java | 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 65 insertions(+), 14 deletions(-) diff --cc CHANGES.txt index 62fa3c3,b38ab06..c04ad58 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -7,9 -5,10 +7,10 @@@ Merged from 3.0 * Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058) * Improve `nodetool status -r` speed (CASSANDRA-14847) * Improve merkle tree size and time on heap (CASSANDRA-14096) - * Add missing commands to nodetool-completion (CASSANDRA-14916) + * Add missing commands to nodetool_completion (CASSANDRA-14916) * Anti-compaction temporarily corrupts sstable state for readers (CASSANDRA-15004) - Merged from 2.2: +Merged from 2.2: + * Support cross version messaging in in-jvm upgrade dtests (CASSANDRA-15078) * Fix index summary redistribution cancellation (CASSANDRA-15045) * Refactor Circle CI configuration (CASSANDRA-14806) * Fixing invalid CQL in security documentation (CASSANDRA-15020) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] branch trunk updated (ed2d326 -> 5e84ee3)
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a change to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git. from ed2d326 Apache NetBeans "Run", "Debug", "Profile" IDE actions new 7d2c3c2 Support cross version messaging in in-jvm upgrade dtests new e9e883b Merge branch 'cassandra-2.2' into cassandra-3.0 new 7e64003 Merge branch 'cassandra-3.0' into cassandra-3.11 new 5e84ee3 Merge branch 'cassandra-3.11' into trunk The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CHANGES.txt | 1 + .../apache/cassandra/distributed/api/IInstance.java | 3 +++ .../cassandra/distributed/impl/AbstractCluster.java | 18 +- .../impl/DelegatingInvokableInstance.java| 12 .../apache/cassandra/distributed/impl/Instance.java | 20 .../distributed/impl/InstanceClassLoader.java| 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 64 insertions(+), 12 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] branch cassandra-3.11 updated (f0aef2c -> 7e64003)
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a change to branch cassandra-3.11 in repository https://gitbox.apache.org/repos/asf/cassandra.git. from f0aef2c fixing nodetool cfstats printing index name twice new 7d2c3c2 Support cross version messaging in in-jvm upgrade dtests new e9e883b Merge branch 'cassandra-2.2' into cassandra-3.0 new 7e64003 Merge branch 'cassandra-3.0' into cassandra-3.11 The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: CHANGES.txt| 1 + .../cassandra/distributed/api/IInstance.java | 3 +++ .../distributed/impl/AbstractCluster.java | 18 - .../impl/DelegatingInvokableInstance.java | 12 +++ .../cassandra/distributed/impl/Instance.java | 23 -- .../distributed/impl/InstanceClassLoader.java | 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 65 insertions(+), 14 deletions(-) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[cassandra] 01/01: Merge branch 'cassandra-2.2' into cassandra-3.0
This is an automated email from the ASF dual-hosted git repository. bdeggleston pushed a commit to branch cassandra-3.0 in repository https://gitbox.apache.org/repos/asf/cassandra.git commit e9e883baaed1cfda3c1bebf8f1825efc1e0f2df0 Merge: 4a70a9a 7d2c3c2 Author: Blake Eggleston AuthorDate: Wed Apr 24 11:19:48 2019 -0700 Merge branch 'cassandra-2.2' into cassandra-3.0 CHANGES.txt| 1 + .../cassandra/distributed/api/IInstance.java | 3 +++ .../distributed/impl/AbstractCluster.java | 18 - .../impl/DelegatingInvokableInstance.java | 12 +++ .../cassandra/distributed/impl/Instance.java | 23 -- .../distributed/impl/InstanceClassLoader.java | 11 +++ .../distributed/upgrade/UpgradeTestBase.java | 11 --- 7 files changed, 65 insertions(+), 14 deletions(-) diff --cc CHANGES.txt index 8ee7e06,1cc4153..b38ab06 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,13 -1,5 +1,14 @@@ -2.2.15 +3.0.19 + * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907) + * For nodetool listsnapshots output, put spaces between columns, and increase snapshot padding (CASSANDRA-14876) + * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053) + * Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058) + * Improve `nodetool status -r` speed (CASSANDRA-14847) + * Improve merkle tree size and time on heap (CASSANDRA-14096) + * Add missing commands to nodetool-completion (CASSANDRA-14916) + * Anti-compaction temporarily corrupts sstable state for readers (CASSANDRA-15004) + Merged from 2.2: + * Support cross version messaging in in-jvm upgrade dtests (CASSANDRA-15078) * Fix index summary redistribution cancellation (CASSANDRA-15045) * Refactor Circle CI configuration (CASSANDRA-14806) * Fixing invalid CQL in security documentation (CASSANDRA-15020) diff --cc test/distributed/org/apache/cassandra/distributed/impl/Instance.java index e0e1dc9,dce03ca..dddabf8 --- a/test/distributed/org/apache/cassandra/distributed/impl/Instance.java +++ b/test/distributed/org/apache/cassandra/distributed/impl/Instance.java @@@ -64,14 -64,9 +64,12 @@@ import org.apache.cassandra.distributed import org.apache.cassandra.gms.ApplicationState; import org.apache.cassandra.gms.Gossiper; import org.apache.cassandra.gms.VersionedValue; +import org.apache.cassandra.hints.HintsService; +import org.apache.cassandra.index.SecondaryIndexManager; import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.io.util.DataInputBuffer; import org.apache.cassandra.io.util.DataOutputBuffer; import org.apache.cassandra.locator.InetAddressAndPort; - import org.apache.cassandra.metrics.CassandraMetricsRegistry; import org.apache.cassandra.net.IMessageSink; import org.apache.cassandra.net.MessageDeliveryTask; import org.apache.cassandra.net.MessageIn; - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests
[ https://issues.apache.org/jira/browse/CASSANDRA-15078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16824937#comment-16824937 ] Alex Petrov commented on CASSANDRA-15078: - [~bdeggleston] thank you. With {{delegate}}, I've meant something like [here|https://github.com/ifesdjeen/cassandra/commit/f669505316fe4e27f485324ff2d20206a8f9e7d1]. If you could add this change on commit, it'd be great. +1 otherwise. > Support cross version messaging in in-jvm upgrade dtests > > > Key: CASSANDRA-15078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15078 > Project: Cassandra > Issue Type: Improvement > Components: Test/dtest >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Normal > Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-15078) Support cross version messaging in in-jvm upgrade dtests
[ https://issues.apache.org/jira/browse/CASSANDRA-15078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alex Petrov updated CASSANDRA-15078: Status: Ready to Commit (was: Review In Progress) > Support cross version messaging in in-jvm upgrade dtests > > > Key: CASSANDRA-15078 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15078 > Project: Cassandra > Issue Type: Improvement > Components: Test/dtest >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Normal > Fix For: 2.2.15, 3.0.19, 3.11.5, 4.0 > > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-15076) Align record header of FQL and audit binary log
[ https://issues.apache.org/jira/browse/CASSANDRA-15076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Per Otterström updated CASSANDRA-15076: --- Reviewers: Vinay Chella Status: Open (was: Triage Needed) > Align record header of FQL and audit binary log > --- > > Key: CASSANDRA-15076 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15076 > Project: Cassandra > Issue Type: Improvement > Components: Legacy/Tools, Tool/fql >Reporter: Per Otterström >Assignee: Per Otterström >Priority: Normal > Fix For: 4.0 > > > The new full query logger and the audit logger support logging into binary > Chronicle logs. Both create records with a small header to indicate what > follows, but the two features have adopted different header formats. Let's > align the record header format with this ticket. > * Both features should use the same header layout. This makes it possible to > give more user friendly error messages in the {{fqltool}} and > {{auditlogviewr}} commands. > * The record header should have a distinct {{type}} to indicate the type of > record. > * The record header should have a {{version}} so that the record format can > evolve. > Current record header format of the FQL is: > {noformat} > version:0(int16) > type:(text) > {noformat} > where {{}} can be either {{batch}} or {{single-query}}. > Current record header format of the binary audit log is: > {noformat} > type:AuditLog(text) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Assigned] (CASSANDRA-15076) Align record header of FQL and audit binary log
[ https://issues.apache.org/jira/browse/CASSANDRA-15076?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Per Otterström reassigned CASSANDRA-15076: -- Assignee: Per Otterström > Align record header of FQL and audit binary log > --- > > Key: CASSANDRA-15076 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15076 > Project: Cassandra > Issue Type: Improvement > Components: Legacy/Tools, Tool/fql >Reporter: Per Otterström >Assignee: Per Otterström >Priority: Normal > Fix For: 4.0 > > > The new full query logger and the audit logger support logging into binary > Chronicle logs. Both create records with a small header to indicate what > follows, but the two features have adopted different header formats. Let's > align the record header format with this ticket. > * Both features should use the same header layout. This makes it possible to > give more user friendly error messages in the {{fqltool}} and > {{auditlogviewr}} commands. > * The record header should have a distinct {{type}} to indicate the type of > record. > * The record header should have a {{version}} so that the record format can > evolve. > Current record header format of the FQL is: > {noformat} > version:0(int16) > type:(text) > {noformat} > where {{}} can be either {{batch}} or {{single-query}}. > Current record header format of the binary audit log is: > {noformat} > type:AuditLog(text) > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org