Name | Status | Type | Time(s) |
test_decommissioned_wiped_node_can_join | Success | | 219.900 |
test_reversed_compact_multikey | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:2114: test not applicable to env. | 0.000 |
test_cas_and_compact | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:4336: test not applicable to env. | 0.000 |
test_map | Success | | 66.656 |
test_store_sets_with_if_not_exists | Success | | 59.659 |
test_in_clause_wide_rows | Success | | 70.943 |
test_conversion_functions | Success | | 62.118 |
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_multiordering | Success | | 73.613 |
test_whole_set_conditional | Failure | TypeError: '<' not supported between instances of 'str' and 'int'
self = <abc.TestCQLNodes3RF3_Upgrade_current_5_0_x_To_indev_5_0_x object at 0x7f89ba0ec2e0>
@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 | 58.831 |
test_composite_row_key | Success | | 200.152 |
test_more_user_types | Success | | 63.665 |
test_order_by_with_in | Success | | 139.870 |
test_empty_blob | Success | | 63.525 |
test_tracing_prevents_startup_after_upgrading | Success | | 73.018 |
test_truncate_clean_cache | Skipped | https://issues.apache.org/jira/browse/CASSANDRA-14961
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:2379: https://issues.apache.org/jira/browse/CASSANDRA-14961 | 0.000 |
test_cas_and_list_index | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:4919: test not applicable to env. | 0.000 |
test_only_pk | Success | | 52.584 |
test_map_keys_indexing | Success | | 54.602 |
test_deletion | Success | | 56.600 |
test_non_eq_conditional_update | Success | | 55.793 |
test_noncomposite_static_cf | Success | | 56.093 |
test_multi_in | Success | | 56.559 |
test_key_index_with_reverse_clustering | Success | | 56.147 |
test_composite_index_with_pk | Success | | 55.080 |
test_static_columns_with_2i | Success | | 55.857 |
test_timestamp_and_ttl | Success | | 55.757 |
test_nonpure_function_collection | Success | | 55.564 |
test_limit_ranges | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:306: test not applicable to env. | 0.000 |
test_timeuuid | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:2630: test not applicable to env. | 0.000 |
test_SIM_assertion_error | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5149: test not applicable to env. | 0.000 |
test_with_less_results_than_page_size | Success | | 54.854 |
test_with_order_by_reversed | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/paging_test.py:248: test not applicable to env. | 0.000 |
test_static_columns_paging | Failure | TypeError: '<' not supported between instances of 'str' and 'int'
self = <abc.TestPagingDataNodes2RF1_Upgrade_current_5_0_x_To_indev_5_0_x object at 0x7f89ba1747c0>
@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 | 49.679 |
test_data_change_impacting_later_page | Success | | 59.405 |
test_single_cell_deletions | Success | | 60.292 |
test_upgrade_with_unclustered_CQL_table | Success | | 31.617 |
test_sstableloader_with_mv | Skipped | 5.0.1 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:468: 5.0.1 > 3.99 | 0.615 |
test_sparse_supercolumn_with_renames | Skipped | 5.0 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99 | 0.351 |
test_bootstrap | Success | | 408.883 |