Vinay Chella created CASSANDRA-15021:
----------------------------------------
Summary:
TestBootstrapAfterUpgrade.test_upgrade_with_range_tombstone_eoc_0 upgrade test
is failing with TypeError
Key: CASSANDRA-15021
URL: https://issues.apache.org/jira/browse/CASSANDRA-15021
Project: Cassandra
Issue Type: Bug
Components: Test/dtest
Reporter: Vinay Chella
Assignee: Vinay Chella
While running upgrade tests for 3.11.4 candidate I noticed that
{{upgrade_tests.storage_engine_upgrade_test.TestBootstrapAfterUpgrade.test_upgrade_with_range_tombstone_eoc_0}}
is failing with TypeError.
Example run with error:
{code:java}
self = <upgrade_tests.storage_engine_upgrade_test.TestBootstrapAfterUpgrade
object at 0x7f8db9908240>
@since('3.0', max_version='3.99')
def test_upgrade_with_range_tombstone_eoc_0(self):
"""
Check sstable upgrading when the sstable contains a range tombstone
with EOC=0.
@jira_ticket CASSANDRA-12423
"""
session = self._setup_cluster(cluster_options={'start_rpc': 'true'})
session.execute("CREATE TABLE rt (id INT, c1 TEXT, c2 TEXT, v INT,
PRIMARY KEY (id, c1, c2)) "
"with compact storage and compression =
{'sstable_compression': ''};")
range_delete = {
i32(1): {
'rt': [Mutation(deletion=Deletion(2470761440040513,
predicate=SlicePredicate(slice_range=SliceRange(
> start=composite('a',
> eoc='\x00'),
finish=composite('asd',
eoc='\x00')))))]
}
}
upgrade_tests/storage_engine_upgrade_test.py:434:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
item1 = b'a', item2 = None, eoc = '\x00'
def composite(item1, item2=None, eoc=b'\x00'):
if isinstance(item1, str):
item1 = utf8encode(item1)
if isinstance(item2, str):
item2 = utf8encode(item2)
> packed = _i16(len(item1)) + item1 + eoc
E TypeError: can't concat str to bytes
thrift_test.py:153: TypeError
{code}
This TypeError is from Python3 migration. Python 3's standard string type is
Unicode based, and Python 3 adds a dedicated bytes type, but critically, no
automatic coercion between bytes and unicode strings is provided -
[context|https://www.python.org/dev/peps/pep-0404/#strings-and-bytes]
This change in python3 is leading to "TypeError: can't concat str to bytes"
while appending bytes to string.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]