Unit Test Results.

Designed for use with JUnit and Ant.

Class dtest-upgrade_jdk11_python3.8_cythonno_x86_64_40_64

NameTestsErrorsFailuresSkippedTime(s)Time StampHost
8_cythonno_x86_64_40_643802122068.7152024-07-20T07:11:06.0940217ef9f508c101

Tests

NameStatusTypeTime(s)
test_select_key_inSkippedtest not applicable to env.

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:485: test not applicable to env.
0.001
test_renameSkippedtest not applicable to env.

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:3006: test not applicable to env.
0.000
test_large_collection_errorsSkipped5.0 > 2.99

/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 2.99
0.529
test_query_compact_tables_during_upgradeSuccess65.422
test_select_set_key_single_rowSkippedawaiting CASSANDRA-7396

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5259: awaiting CASSANDRA-7396
0.000
test_range_with_deletesSuccess59.945
test_limit_compact_tableSuccess58.952
test_indexes_compositeSuccess66.480
test_whole_list_conditionalFailureTypeError: '<' not supported between instances of 'str' and 'int'

self = <abc.TestCQLNodes3RF3_Upgrade_current_5_0_x_To_indev_5_0_x object at 0x7fd6c6aad490>

@since('2.1.1')
def test_whole_list_conditional(self):
cursor = self.prepare()

cursor.execute("""
CREATE TABLE tlist (
k int PRIMARY KEY,
l list<text>
)""")

cursor.execute("""
CREATE TABLE frozentlist (
k int PRIMARY KEY,
l frozen<list<text>>
)""")

for is_upgraded, cursor in self.do_upgrade(cursor):
logger.debug("Querying {} node".format("upgraded" if is_upgraded else "old"))
cursor.execute("TRUNCATE tlist")
cursor.execute("TRUNCATE frozentlist")

for frozen in (False, True):

table = "frozentlist" if frozen else "tlist"
cursor.execute("INSERT INTO {}(k, l) VALUES (0, ['foo', 'bar', 'foobar'])".format(table))

def check_applies(condition):
# UPDATE statement
assert_one(cursor, "UPDATE {} SET l = ['foo', 'bar', 'foobar'] WHERE k=0 IF {}".format(table, condition), [True], cl=self.CL)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, ['foo', 'bar', 'foobar']]) # read back at default cl.one
# DELETE statement
assert_one(cursor, "DELETE FROM {} WHERE k=0 IF {}".format(table, condition), [True], cl=self.CL)
assert_none(cursor, "SELECT * FROM {}".format(table)) # read back at default cl.one
cursor.execute("INSERT INTO {}(k, l) VALUES (0, ['foo', 'bar', 'foobar'])".format(table))

check_applies("l = ['foo', 'bar', 'foobar']")
check_applies("l != ['baz']")
check_applies("l > ['a']")
check_applies("l >= ['a']")
check_applies("l < ['z']")
check_applies("l <= ['z']")
check_applies("l IN (null, ['foo', 'bar', 'foobar'], ['a'])")

# multiple conditions
check_applies("l > ['aaa', 'bbb'] AND l > ['aaa']")
check_applies("l != null AND l IN (['foo', 'bar', 'foobar'])")

def check_does_not_apply(condition):
# UPDATE statement
assert_one(cursor, "UPDATE {} SET l = ['foo', 'bar', 'foobar'] WHERE k=0 IF {}".format(table, condition),
[False, ['foo', 'bar', 'foobar']], cl=self.CL)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, ['foo', 'bar', 'foobar']]) # read back at default cl.one
# DELETE statement
assert_one(cursor, "DELETE FROM {} WHERE k=0 IF {}".format(table, condition),
[False, ['foo', 'bar', 'foobar']], cl=self.CL)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, ['foo', 'bar', 'foobar']]) # read back at default cl.one

# should not apply
check_does_not_apply("l = ['baz']")
check_does_not_apply("l != ['foo', 'bar', 'foobar']")
check_does_not_apply("l > ['z']")
check_does_not_apply("l >= ['z']")
check_does_not_apply("l < ['a']")
check_does_not_apply("l <= ['a']")
check_does_not_apply("l IN (['a'], null)")
check_does_not_apply("l IN ()")

# multiple conditions
check_does_not_apply("l IN () AND l IN (['foo', 'bar', 'foobar'])")
check_does_not_apply("l > ['zzz'] AND l < ['zzz']")

def check_invalid(condition, expected=InvalidRequest):
# UPDATE statement
assert_invalid(cursor, "UPDATE {} SET l = ['foo', 'bar', 'foobar'] WHERE k=0 IF {}".format(table, condition), expected=expected)
assert_one(cursor, "SELECT * FROM {}".format(table), [0, ['foo', 'bar', 'foobar']], cl=self.CL)
# 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', 'foobar']], cl=self.CL)

check_invalid("l = [null]")
check_invalid("l < null")
check_invalid("l <= null")
check_invalid("l > null")
check_invalid("l >= null")
check_invalid("l IN null", expected=SyntaxException)
check_invalid("l IN 367", expected=SyntaxException)

# @jira_ticket CASSANDRA-10537
> if self.get_node_version(is_upgraded) >= LooseVersion(CASSANDRA_4_1):

upgrade_tests/cql_tests.py:4452:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
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
57.726
test_range_querySuccess148.075
test_static_columns_casSuccess63.256
test_timestamp_and_ttlSuccess127.346
test_add_deletion_info_in_unsorted_columnSuccess64.159
test_more_order_bySkippedtest not applicable to env.

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:656: test not applicable to env.
0.000
test_conditional_deleteSkippedtest not applicable to env.

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:3165: test not applicable to env.
0.000
test_sparse_cfSuccess53.186
test_ticket_5230Success53.945
test_select_list_key_multi_rowSkippedawaiting CASSANDRA-7396

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:5378: awaiting CASSANDRA-7396
0.001
test_multi_in_compactSuccess55.664
test_end_of_component_uses_oecBoundSuccess54.688
test_collection_and_regularSuccess55.477
test_whole_map_conditionalFailureTypeError: '<' not supported between instances of 'str' and 'int'

self = <abc.TestCQLNodes2RF1_Upgrade_current_5_0_x_To_indev_5_0_x object at 0x7fd6c67862b0>

@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
52.369
test_row_existenceSuccess56.046
test_cas_and_ttlSuccess59.957
test_delete_rowSuccess55.394
test_intersection_logic_returns_empty_resultSuccess67.543
test_null_supportSkippedtest not applicable to env.

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:835: test not applicable to env.
0.001
test_collection_flushSkippedtest not applicable to env.

/home/cassandra/cassandra-dtest/upgrade_tests/cql_tests.py:3351: test not applicable to env.
0.000
test_with_no_resultsSuccess58.607
test_with_order_bySuccess60.458
test_paging_using_secondary_indexes_with_static_colsSuccess66.214
test_data_change_impacting_earlier_pageSuccess58.336
test_multiple_cell_deletionsSuccess64.100
test_ttl_deletionsSuccess66.675
test_upgrade_with_range_tombstone_eoc_0Skipped5.0.1 > 3.99

/home/cassandra/cassandra-dtest/conftest.py:468: 5.0.1 > 3.99
0.340
test_sstableloader_compression_none_to_deflateSkipped5.0.1 > 4.99

/home/cassandra/cassandra-dtest/conftest.py:468: 5.0.1 > 4.99
0.588
test_dense_supercolumn_with_renamesSkipped5.0 > 3.99

/home/cassandra/cassandra-dtest/conftest.py:449: 5.0 > 3.99
0.383
test_rolling_upgrade_with_internode_sslSuccess415.373
Properties »