Name | Status | Type | Time(s) |
test_indexed_with_eq | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:456: test not applicable to env. | 0.001 |
test_empty_blob | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:2994: test not applicable to env. | 0.000 |
test_static_cf | Success | | 58.920 |
test_compact_metadata | Success | | 57.206 |
test_select_map_key_single_row | Skipped | awaiting CASSANDRA-7396
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5231: awaiting CASSANDRA-7396 | 0.000 |
test_multi_list_set | Success | | 60.874 |
test_static_with_empty_clustering | Success | | 60.353 |
test_remove_range_slice | Success | | 64.302 |
test_cas_and_compact | Success | | 61.968 |
test_multi_collection | Success | | 142.875 |
test_static_columns | Success | | 61.303 |
test_token_range | Success | | 123.959 |
test_store_sets_with_if_not_exists | Success | | 62.217 |
test_order_by | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:607: test not applicable to env. | 0.000 |
test_non_eq_conditional_update | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:3136: test not applicable to env. | 0.000 |
test_dense_cf | Success | | 51.216 |
test_end_of_component_as_end_key | Success | | 52.687 |
test_select_set_key_multi_row | Skipped | awaiting CASSANDRA-7396
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5347: awaiting CASSANDRA-7396 | 0.000 |
test_multi_in | Success | | 53.844 |
test_clustering_order_in | Success | | 53.134 |
test_reversed_compact_multikey | Success | | 55.087 |
test_whole_set_conditional | Failure | TypeError: '<' not supported between instances of 'str' and 'int'
self = <abc.TestCQLNodes2RF1_Upgrade_current_5_0_x_To_indev_5_0_x object at 0x7f9c316ddd30>
@since('2.1.1')
def test_whole_set_conditional(self):
cursor = self.prepare()
cursor.execute("""
CREATE TABLE tset (
k int PRIMARY KEY,
s set<text>
)""")
cursor.execute("""
CREATE TABLE frozentset (
k int PRIMARY KEY,
s frozen<set<text>>
)""")
for is_upgraded, cursor in self.do_upgrade(cursor):
logger.debug("Querying {} node".format("upgraded" if is_upgraded else "old"))
cursor.execute("TRUNCATE tset")
cursor.execute("TRUNCATE frozentset")
for frozen in (False, True):
table = "frozentset" if frozen else "tset"
assert_one(cursor, "INSERT INTO {}(k, s) VALUES (0, {{'bar', 'foo'}}) IF NOT EXISTS".format(table), [True])
def check_applies(condition):
# UPDATE statement
assert_one(cursor, "UPDATE {} SET s = {{'bar', 'foo'}} WHERE k=0 IF {}".format(table, condition), [True])
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'bar', 'foo'}], cl=ConsistencyLevel.SERIAL)
# DELETE statement
assert_one(cursor, "DELETE FROM {} WHERE k=0 IF {}".format(table, condition), [True])
assert_none(cursor, "SELECT * FROM {}".format(table), cl=ConsistencyLevel.SERIAL)
assert_one(cursor, "INSERT INTO {}(k, s) VALUES (0, {{'bar', 'foo'}}) IF NOT EXISTS".format(table), [True])
check_applies("s = {'bar', 'foo'}")
check_applies("s = {'foo', 'bar'}")
check_applies("s != {'baz'}")
check_applies("s > {'a'}")
check_applies("s >= {'a'}")
check_applies("s < {'z'}")
check_applies("s <= {'z'}")
check_applies("s IN (null, {'bar', 'foo'}, {'a'})")
# multiple conditions
check_applies("s > {'a'} AND s < {'z'}")
check_applies("s IN (null, {'bar', 'foo'}, {'a'}) AND s IN ({'a'}, {'bar', 'foo'}, null)")
def check_does_not_apply(condition):
# UPDATE statement
assert_one(cursor, "UPDATE {} SET s = {{'bar', 'foo'}} WHERE k=0 IF {}".format(table, condition),
[False, {'bar', 'foo'}])
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'bar', 'foo'}], cl=ConsistencyLevel.SERIAL)
# DELETE statement
assert_one(cursor, "DELETE FROM {} WHERE k=0 IF {}".format(table, condition),
[False, {'bar', 'foo'}])
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'bar', 'foo'}], cl=ConsistencyLevel.SERIAL)
# should not apply
check_does_not_apply("s = {'baz'}")
check_does_not_apply("s != {'bar', 'foo'}")
check_does_not_apply("s > {'z'}")
check_does_not_apply("s >= {'z'}")
check_does_not_apply("s < {'a'}")
check_does_not_apply("s <= {'a'}")
check_does_not_apply("s IN ({'a'}, null)")
check_does_not_apply("s IN ()")
check_does_not_apply("s != null AND s IN ()")
def check_invalid(condition, expected=InvalidRequest):
# UPDATE statement
assert_invalid(cursor, "UPDATE {} SET s = {{'bar', 'foo'}} WHERE k=0 IF {}".format(table, condition), expected=expected)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'bar', 'foo'}], cl=ConsistencyLevel.SERIAL)
# DELETE statement
assert_invalid(cursor, "DELETE FROM {} WHERE k=0 IF {}".format(table, condition), expected=expected)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'bar', 'foo'}], cl=ConsistencyLevel.SERIAL)
check_invalid("s = {null}")
check_invalid("s < null")
check_invalid("s <= null")
check_invalid("s > null")
check_invalid("s >= null")
check_invalid("s IN null", expected=SyntaxException)
check_invalid("s IN 367", expected=SyntaxException)
# element access is not allow for sets
check_invalid("s['foo'] = 'foobar'")
# @jira_ticket CASSANDRA-10537
> if self.get_node_version(is_upgraded) >= LooseVersion(CASSANDRA_4_1):
upgrade_tests/cql_tests.py:4683:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
upgrade_tests/upgrade_base.py:227: in get_node_version
return max(node_versions) if is_upgraded else min(node_versions)
/usr/lib/python3.8/distutils/version.py:64: in __gt__
c = self._cmp(other)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = LooseVersion ('5.0-rc1'), other = LooseVersion ('5.0.1')
def _cmp (self, other):
if isinstance(other, str):
other = LooseVersion(other)
if self.version == other.version:
return 0
> if self.version < other.version:
E TypeError: '<' not supported between instances of 'str' and 'int'
/usr/lib/python3.8/distutils/version.py:337: TypeError | 49.936 |
test_cql3_non_compound_range_tombstones | Skipped | 5.0 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99 | 0.414 |
test_select_count_paging | Success | | 54.500 |
test_range_tombstones_compaction | Success | | 71.392 |
test_more_user_types | Success | | 56.607 |
test_reversed_comparator | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:784: test not applicable to env. | 0.000 |
test_empty_in | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:3304: test not applicable to env. | 0.000 |
test_failure_threshold_deletions | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/paging_test.py:1486: test not applicable to env. | 0.000 |
test_with_allow_filtering | Success | | 57.826 |
test_static_columns_paging | Failure | TypeError: '<' not supported between instances of 'str' and 'int'
self = <abc.TestPagingDataNodes3RF3_Upgrade_current_5_0_x_To_indev_5_0_x object at 0x7f9c3153c2e0>
@since('2.0.6')
def test_static_columns_paging(self):
"""
Exercises paging with static columns to detect bugs
@jira_ticket CASSANDRA-8502.
"""
cursor = self.prepare(row_factory=named_tuple_factory)
cursor.execute("CREATE TABLE test (a int, b int, c int, s1 int static, s2 int static, PRIMARY KEY (a, b))")
for is_upgraded, cursor in self.do_upgrade(cursor, row_factory=named_tuple_factory):
> min_version = min(self.get_node_versions())
upgrade_tests/paging_test.py:660:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/distutils/version.py:52: in __lt__
c = self._cmp(other)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = LooseVersion ('5.0-rc1'), other = LooseVersion ('5.0.1')
def _cmp (self, other):
if isinstance(other, str):
other = LooseVersion(other)
if self.version == other.version:
return 0
> if self.version < other.version:
E TypeError: '<' not supported between instances of 'str' and 'int'
/usr/lib/python3.8/distutils/version.py:337: TypeError | 56.358 |
test_paging_using_secondary_indexes_with_static_cols | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/paging_test.py:876: test not applicable to env. | 0.000 |
test_single_cell_deletions | Success | | 64.778 |
test_multiple_cell_deletions | Success | | 59.788 |
test_upgrade_with_range_and_collection_tombstones | Success | | 109.526 |
test_sstableloader_compression_none_to_snappy | Skipped | 5.0.1 > 4.99
/home/cassandra/cassandra-dtest/conftest.py:468: 5.0.1 > 4.99 | 0.339 |
test_dense_supercolumn | Skipped | 5.0 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99 | 0.337 |
test_parallel_upgrade_with_internode_ssl | Success | | 250.402 |