Name | Status | Type | Time(s) |
test_rf_gt_nodes_multidc_should_succeed | Success | | 105.919 |
test_limit_bugs | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:1833: test not applicable to env. | 0.000 |
test_static_columns_with_distinct | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:4076: test not applicable to env. | 0.000 |
test_no_range_ghost | Success | | 88.873 |
test_empty_in | Success | | 59.287 |
test_limit_multiget | Success | | 97.289 |
test_float_with_exponent | Success | | 61.846 |
test_blobAs_functions | Success | | 65.608 |
test_indexes_composite | Success | | 115.593 |
test_v2_protocol_IN_with_tuples | Skipped | 5.0 > 2.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 2.99 | 0.794 |
test_delete_row | Success | | 158.630 |
test_function_with_null | Success | | 62.654 |
test_indexed_with_eq | Success | | 124.945 |
test_edge_2i_on_complex_pk | Success | | 64.190 |
test_select_set_key_single_row | Skipped | awaiting CASSANDRA-7396
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5259: awaiting CASSANDRA-7396 | 0.000 |
test_collection_and_regular | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:2197: test not applicable to env. | 0.000 |
test_whole_list_conditional | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:4364: test not applicable to env. | 0.000 |
test_list | Success | | 49.658 |
test_add_deletion_info_in_unsorted_column | Success | | 49.626 |
test_order_by | Success | | 53.659 |
test_IN_clause_on_last_key | Skipped | 5.0 > 3.11.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.11.99 | 0.611 |
test_select_list_key_multi_row | Skipped | awaiting CASSANDRA-7396
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5378: awaiting CASSANDRA-7396 | 0.001 |
test_returned_null | Success | | 54.167 |
test_whole_map_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 0x7f3b8808ed00>
@since('2.1.1')
def test_whole_map_conditional(self):
cursor = self.prepare()
cursor.execute("""
CREATE TABLE tmap (
k int PRIMARY KEY,
m map<text, text>
)""")
cursor.execute("""
CREATE TABLE frozentmap (
k int PRIMARY KEY,
m frozen<map<text, text>>
)""")
for is_upgraded, cursor in self.do_upgrade(cursor):
logger.debug("Querying {} node".format("upgraded" if is_upgraded else "old"))
cursor.execute("TRUNCATE tmap")
cursor.execute("TRUNCATE frozentmap")
for frozen in (False, True):
logger.debug("Testing {} maps".format("frozen" if frozen else "normal"))
table = "frozentmap" if frozen else "tmap"
cursor.execute("INSERT INTO %s(k, m) VALUES (0, {'foo' : 'bar'})" % (table,))
def check_applies(condition):
# UPDATE statement
assert_one(cursor, "UPDATE {} SET m = {{'foo': 'bar'}} WHERE k=0 IF {}".format(table, condition), [True])
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'foo': 'bar'}], 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)
cursor.execute("INSERT INTO {}(k, m) VALUES (0, {{'foo' : 'bar'}})".format(table))
check_applies("m = {'foo': 'bar'}")
check_applies("m > {'a': 'a'}")
check_applies("m >= {'a': 'a'}")
check_applies("m < {'z': 'z'}")
check_applies("m <= {'z': 'z'}")
check_applies("m != {'a': 'a'}")
check_applies("m IN (null, {'a': 'a'}, {'foo': 'bar'})")
# multiple conditions
check_applies("m > {'a': 'a'} AND m < {'z': 'z'}")
check_applies("m != null AND m IN (null, {'a': 'a'}, {'foo': 'bar'})")
def check_does_not_apply(condition):
# UPDATE statement
assert_one(cursor, "UPDATE {} SET m = {{'foo': 'bar'}} WHERE k=0 IF {}".format(table, condition), [False, {'foo': 'bar'}])
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'foo': 'bar'}], cl=ConsistencyLevel.SERIAL)
# DELETE statement
assert_one(cursor, "DELETE FROM {} WHERE k=0 IF {}".format(table, condition), [False, {'foo': 'bar'}])
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'foo': 'bar'}], cl=ConsistencyLevel.SERIAL)
# should not apply
check_does_not_apply("m = {'a': 'a'}")
check_does_not_apply("m > {'z': 'z'}")
check_does_not_apply("m >= {'z': 'z'}")
check_does_not_apply("m < {'a': 'a'}")
check_does_not_apply("m <= {'a': 'a'}")
check_does_not_apply("m != {'foo': 'bar'}")
check_does_not_apply("m IN ({'a': 'a'}, null)")
check_does_not_apply("m IN ()")
check_does_not_apply("m = null AND m != null")
def check_invalid(condition, expected=InvalidRequest):
# UPDATE statement
assert_invalid(cursor, "UPDATE {} SET m = {{'foo': 'bar'}} WHERE k=0 IF {}".format(table, condition), expected=expected)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, {'foo': 'bar'}], 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, {'foo': 'bar'}], cl=ConsistencyLevel.SERIAL)
check_invalid("m = {null: null}")
check_invalid("m = {'a': null}")
check_invalid("m = {null: 'a'}")
check_invalid("m < null")
check_invalid("m IN null", expected=SyntaxException)
# @jira_ticket CASSANDRA-10537
> if self.get_node_version(is_upgraded) >= LooseVersion(CASSANDRA_4_1):
upgrade_tests/cql_tests.py:4775:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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.208 |
test_cql3_insert_thrift | Skipped | 5.0 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99 | 0.405 |
test_intersection_logic_returns_empty_result | Success | | 62.349 |
test_reversed_comparator | Success | | 55.068 |
test_rename | Skipped | 5.0 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99 | 0.626 |
test_materialized_view_simple | Success | | 55.894 |
test_range_with_deletes | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:2416: test not applicable to env. | 0.000 |
test_static_with_limit | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:4946: test not applicable to env. | 0.000 |
test_undefined_page_size_default | Success | | 56.701 |
test_with_limit | Success | | 58.947 |
test_static_columns_paging | Success | | 60.510 |
test_row_TTL_expiry_during_paging | Success | | 84.794 |
test_single_cell_deletions | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/paging_test.py:1374: test not applicable to env. | 0.000 |
test_10822 | Skipped | test not applicable to env.
/home/cassandra/cassandra-dtest/upgrade_tests/regression_test.py:29: test not applicable to env. | 0.000 |
test_sstableloader_compression_none_to_deflate | Skipped | 5.0.1 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:468: 5.0.1 > 3.99 | 0.576 |
test_sparse_supercolumn | Skipped | 5.0 > 3.99
/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99 | 0.607 |
test_rolling_upgrade | Success | | 880.464 |