You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2017/08/01 14:47:02 UTC
cassandra-dtest git commit: Fix incorrect [2.1 <- 3.0] serialization
of counter cells created in 2.0
Repository: cassandra-dtest
Updated Branches:
refs/heads/master d9c8cebc2 -> 55c4ca8bd
Fix incorrect [2.1 <- 3.0] serialization of counter cells created in 2.0
Also fixes calculation of legacy counter update cells' serialized size.
patch by Aleksey Yeschenko; reviewed by Sylvain Lebresne for CASSANDRA-13691
Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/55c4ca8b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/55c4ca8b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/55c4ca8b
Branch: refs/heads/master
Commit: 55c4ca8bd450b81da6eed5055981b629b55dea15
Parents: d9c8ceb
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Sat Jul 15 01:21:04 2017 -0700
Committer: Aleksey Yeschenko <al...@yeschenko.com>
Committed: Tue Aug 1 15:43:34 2017 +0100
----------------------------------------------------------------------
counter_tests.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/55c4ca8b/counter_tests.py
----------------------------------------------------------------------
diff --git a/counter_tests.py b/counter_tests.py
index 80e6eca..c377060 100644
--- a/counter_tests.py
+++ b/counter_tests.py
@@ -13,6 +13,67 @@ from tools.decorators import since
class TestCounters(Tester):
+ @since('3.0', max_version='3.12')
+ def test_13691(self):
+ """
+ 2.0 -> 2.1 -> 3.0 counters upgrade test
+ @jira_ticket CASSANDRA-13691
+ """
+ cluster = self.cluster
+ default_install_dir = cluster.get_install_dir()
+
+ #
+ # set up a 2.0 cluster with 3 nodes and set up schema
+ #
+
+ cluster.set_install_dir(version='2.0.17')
+ cluster.populate(3)
+ cluster.start()
+
+ node1, node2, node3 = cluster.nodelist()
+
+ session = self.patient_cql_connection(node1)
+ session.execute("""
+ CREATE KEYSPACE test
+ WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 3};
+ """)
+ session.execute("CREATE TABLE test.test (id int PRIMARY KEY, c counter);")
+
+ #
+ # generate some 2.0 counter columns with local shards
+ #
+
+ query = "UPDATE test.test SET c = c + 1 WHERE id = ?"
+ prepared = session.prepare(query)
+ for i in range(0, 1000):
+ session.execute(prepared, [i])
+
+ cluster.flush()
+ cluster.stop()
+
+ #
+ # upgrade cluster to 2.1
+ #
+
+ cluster.set_install_dir(version='2.1.17')
+ cluster.start();
+ cluster.nodetool("upgradesstables")
+
+ #
+ # upgrade node3 to current (3.0.x or 3.11.x)
+ #
+
+ node3.stop(wait_other_notice=True)
+ node3.set_install_dir(install_dir=default_install_dir)
+ node3.start(wait_other_notice=True)
+
+ #
+ # with a 2.1 coordinator, try to read the table with CL.ALL
+ #
+
+ session = self.patient_cql_connection(node1, consistency_level=ConsistencyLevel.ALL)
+ assert_one(session, "SELECT COUNT(*) FROM test.test", [1000])
+
def simple_increment_test(self):
""" Simple incrementation test (Created for #3465, that wasn't a bug) """
cluster = self.cluster
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org