This is an automated email from the ASF dual-hosted git repository.

smiklosovic pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/cassandra-dtest.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 0a8fea03 CASSANDRA-18742 followup
0a8fea03 is described below

commit 0a8fea03d2f66463478ec4a49387bfb035dd403a
Author: Stefan Miklosovic <[email protected]>
AuthorDate: Fri Oct 13 12:53:36 2023 +0200

    CASSANDRA-18742 followup
    
    patch by Stefan Miklosovic; reviewed by Maxim Muzafarov, Brandon Williams 
for CASSANDRA-18742
---
 configuration_test.py              | 14 +++++++++++---
 counter_test.py                    |  6 +++++-
 cqlsh_tests/test_cqlsh.py          | 27 ++++++++++++++++++++++++++-
 dtest.py                           |  7 +++++--
 sstable_generation_loading_test.py |  8 ++++----
 5 files changed, 51 insertions(+), 11 deletions(-)

diff --git a/configuration_test.py b/configuration_test.py
index 04eb220a..3fd31e27 100644
--- a/configuration_test.py
+++ b/configuration_test.py
@@ -10,6 +10,7 @@ from tools.misc import ImmutableMapping
 from dtest_setup_overrides import DTestSetupOverrides
 from dtest import Tester, create_ks
 from tools.jmxutils import (JolokiaAgent, make_mbean)
+from distutils.version import LooseVersion
 
 logger = logging.getLogger(__name__)
 
@@ -34,9 +35,16 @@ class TestConfiguration(Tester):
         create_ks(session, 'ks', 1)
 
         create_table_query = "CREATE TABLE test_table (row varchar, name 
varchar, value int, PRIMARY KEY (row, name));"
-        alter_chunk_len_query = "ALTER TABLE test_table WITH " \
-                                "compression = {{'class' : 'SnappyCompressor', 
" \
-                                "'chunk_length_in_kb' : {chunk_length}}};"
+
+
+        if self.cluster.version() >= LooseVersion('5.0'):
+            alter_chunk_len_query = "ALTER TABLE test_table WITH " \
+                                    "compression = {{'class' : 
'SnappyCompressor', " \
+                                    "'chunk_length_in_kb' : {chunk_length}}};"
+        else:
+            alter_chunk_len_query = "ALTER TABLE test_table WITH " \
+                                    "compression = {{'sstable_compression' : 
'SnappyCompressor', " \
+                                    "'chunk_length_kb' : {chunk_length}}};" 
 
         session.execute(create_table_query)
 
diff --git a/counter_test.py b/counter_test.py
index 44d37fcf..2a9837d7 100644
--- a/counter_test.py
+++ b/counter_test.py
@@ -10,6 +10,7 @@ from cassandra.query import SimpleStatement
 from tools.assertions import assert_invalid, assert_length_equal, assert_one
 from dtest import Tester, create_ks, create_cf, mk_bman_path
 from tools.data import rows_to_list
+from distutils.version import LooseVersion
 
 since = pytest.mark.since
 logger = logging.getLogger(__name__)
@@ -177,7 +178,10 @@ class TestCounters(Tester):
                 c counter
             )
         """
-        query = query + "WITH compression = { 'class' : 'SnappyCompressor' }"
+        if self.cluster.version() >= LooseVersion('5.0'):
+            query = query + "WITH compression = { 'class' : 'SnappyCompressor' 
}"
+        else:
+            query = query + "WITH compression = { 'sstable_compression' : 
'SnappyCompressor' }"
 
         session.execute(query)
         time.sleep(2)
diff --git a/cqlsh_tests/test_cqlsh.py b/cqlsh_tests/test_cqlsh.py
index 044f9f44..72f56af2 100644
--- a/cqlsh_tests/test_cqlsh.py
+++ b/cqlsh_tests/test_cqlsh.py
@@ -605,8 +605,10 @@ UPDATE varcharmaptable SET varcharvarintmap['Vitrum edere 
possum, mihi non nocet
 
         node1, = self.cluster.nodelist()
 
-        cmds = """create keyspace  CASSANDRA_7196 WITH replication = {'class': 
'SimpleStrategy', 'replication_factor': 1} ;
+        cmds = "create keyspace  CASSANDRA_7196 WITH replication = {'class': 
'SimpleStrategy', 'replication_factor': 1} ;"
 
+        if self.cluster.version() >= LooseVersion('5.0'):
+            cmds = cmds + """
 use CASSANDRA_7196;
 
 CREATE TABLE has_all_types (
@@ -625,7 +627,30 @@ CREATE TABLE has_all_types (
     varcharcol varchar,
     varintcol varint
 ) WITH compression = {'class':'LZ4Compressor'};
+"""
+        else:
+            cmds = cmds + """
+use CASSANDRA_7196;
+
+CREATE TABLE has_all_types (
+    num int PRIMARY KEY,
+    intcol int,
+    asciicol ascii,
+    bigintcol bigint,
+    blobcol blob,
+    booleancol boolean,
+    decimalcol decimal,
+    doublecol double,
+    floatcol float,
+    textcol text,
+    timestampcol timestamp,
+    uuidcol uuid,
+    varcharcol varchar,
+    varintcol varint
+) WITH compression = {'sstable_compression':'LZ4Compressor'};
+"""
 
+        cmds = cmds + """
 INSERT INTO has_all_types (num, intcol, asciicol, bigintcol, blobcol, 
booleancol,
                            decimalcol, doublecol, floatcol, textcol,
                            timestampcol, uuidcol, varcharcol, varintcol)
diff --git a/dtest.py b/dtest.py
index 859922eb..c6a6f6b4 100644
--- a/dtest.py
+++ b/dtest.py
@@ -307,7 +307,7 @@ def get_eager_protocol_version(cassandra_version):
 # We default to UTF8Type because it's simpler to use in tests
 def create_cf(session, name, key_type="varchar", speculative_retry=None, 
read_repair=None, compression=None,
               gc_grace=None, columns=None, validation="UTF8Type", 
compact_storage=False, compaction_strategy='SizeTieredCompactionStrategy',
-              primary_key=None, clustering=None):
+              primary_key=None, clustering=None, legacy_compression_class = 
False):
 
     compaction_fragment = "compaction = {'class': '%s', 'enabled': 'true'}"
     if compaction_strategy == '':
@@ -335,7 +335,10 @@ def create_cf(session, name, key_type="varchar", 
speculative_retry=None, read_re
         query = '%s AND CLUSTERING ORDER BY (%s)' % (query, clustering)
 
     if compression is not None:
-        query = '%s AND compression = { \'class\': \'%sCompressor\' }' % 
(query, compression)
+        if legacy_compression_class:
+            query = '%s AND compression = { \'sstable_compression\': 
\'%sCompressor\' }' % (query, compression)
+        else:
+            query = '%s AND compression = { \'class\': \'%sCompressor\' }' % 
(query, compression)
     else:
         # if a compression option is omitted, C* will default to lz4 
compression
         query += ' AND compression = {}'
diff --git a/sstable_generation_loading_test.py 
b/sstable_generation_loading_test.py
index 1970821a..1a516b3d 100644
--- a/sstable_generation_loading_test.py
+++ b/sstable_generation_loading_test.py
@@ -10,7 +10,7 @@ import logging
 from ccmlib import common as ccmcommon
 from ccmlib.node import ToolError
 
-from dtest import Tester, create_ks, create_cf, mk_bman_path, MAJOR_VERSION_4
+from dtest import Tester, create_ks, create_cf, mk_bman_path, MAJOR_VERSION_4, 
MAJOR_VERSION_5
 from tools.assertions import assert_all, assert_none, assert_one
 
 since = pytest.mark.since
@@ -35,10 +35,10 @@ class BaseSStableLoaderTester(Tester):
         return self.fixture_dtest_setup.cluster.version() < MAJOR_VERSION_4 
and self.test_compact
 
     def create_schema(self, session, ks, compression):
+        legacy_compression_class = self.fixture_dtest_setup.cluster.version() 
< MAJOR_VERSION_5
         create_ks(session, ks, rf=2)
-        create_cf(session, "standard1", compression=compression, 
compact_storage=self.compact())
-        create_cf(session, "counter1", compression=compression, columns={'v': 
'counter'},
-                  compact_storage=self.compact())
+        create_cf(session, "standard1", compression=compression, 
compact_storage=self.compact(), legacy_compression_class = 
legacy_compression_class)
+        create_cf(session, "counter1", compression=compression, columns={'v': 
'counter'}, compact_storage=self.compact(), legacy_compression_class = 
legacy_compression_class)
 
     def skip_base_class_test(self):
         if self.__class__.__name__ != 'TestBasedSSTableLoader' and 
self.upgrade_from is None:


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to