You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Josh McKenzie (Jira)" <ji...@apache.org> on 2022/01/25 16:40:00 UTC
[jira] [Updated] (CASSANDRA-17289) Test Failure: python dtest, circleci, test_atomic_writes[none]
[ https://issues.apache.org/jira/browse/CASSANDRA-17289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Josh McKenzie updated CASSANDRA-17289:
--------------------------------------
Description:
Looks like env / byteman script issues.
{code}
ead_repair_test.TestReadRepairGuarantees
read_repair_test.py
AssertionError: byteman script didn't compile ERROR : Unable to open file : ./byteman/read_repair/stop_writes.btm java.io.FileNotFoundException: ./byteman/read_repair/stop_writes.btm (No such file or directory) assert not True
self = <read_repair_test.TestReadRepairGuarantees object at 0x7fc1632fd7b8>
repair_type = 'none', expect_atomic = True
@pytest.mark.parametrize("repair_type,expect_atomic",
(('blocking', False), ('none', True)),
ids=('blocking', 'none'))
def test_atomic_writes(self, repair_type, expect_atomic):
"""
tests how read repair provides, or breaks, write atomicity
'none' read repair should maintain atomic writes, blocking and async should not
"""
assert repair_type in ('blocking', 'async', 'none')
node1, node2, node3 = self.cluster.nodelist()
session = self.get_cql_connection(node1, timeout=2)
ddl = "CREATE TABLE ks.tbl (k int, c int, v1 int, v2 int, primary key (k, c)) WITH read_repair = '" + repair_type + "';"
print (ddl)
session.execute(ddl)
session.execute(quorum("INSERT INTO ks.tbl (k, c, v1, v2) VALUES (1, 0, 1, 1)"))
> with stop_writes(node2, node3):
/home/cassandra/cassandra-dtest/read_repair_test.py:880:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.6/contextlib.py:81: in __enter__
return next(self.gen)
/home/cassandra/cassandra-dtest/read_repair_test.py:789: in stop_writes
with _byteman_cycle(nodes, {'normal': [normal], 'repair': [repair], 'all': [normal, repair]}[kind]):
/usr/lib/python3.6/contextlib.py:81: in __enter__
return next(self.gen)
/home/cassandra/cassandra-dtest/read_repair_test.py:768: in _byteman_cycle
byteman_validate(nodes[0], script_path(script))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
node = <ccmlib.node.Node object at 0x7fc1632fd908>
script = './byteman/read_repair/stop_writes.btm', verbose = False, opts = []
def byteman_validate(node, script, verbose=False, opts=None):
opts = opts or []
cdir = node.get_install_dir()
byteman_cmd = []
byteman_cmd.append(os.path.join(os.environ['JAVA_HOME'],
'bin',
'java'))
byteman_cmd.append('-cp')
jars = [
glob.glob(os.path.join(cdir, 'build', 'lib', 'jars', 'byteman-[0-9]*.jar'))[0],
os.path.join(cdir, 'build', '*'),
]
byteman_cmd.append(':'.join(jars))
byteman_cmd.append('org.jboss.byteman.check.TestScript')
byteman_cmd.append('-p')
byteman_cmd.append(node.byteman_port)
if verbose and '-v' not in opts:
byteman_cmd.append('-v')
byteman_cmd.append(script)
# process = subprocess.Popen(byteman_cmd)
# out, err = process.communicate()
out = subprocess.check_output(byteman_cmd)
if (out is not None) and isinstance(out, bytes):
out = out.decode()
has_errors = 'ERROR' in out
if verbose and not has_errors:
print (out)
> assert not has_errors, "byteman script didn't compile\n" + out
E AssertionError: byteman script didn't compile
E ERROR : Unable to open file : ./byteman/read_repair/stop_writes.btm
E java.io.FileNotFoundException: ./byteman/read_repair/stop_writes.btm (No such file or directory)
E
E assert not True
/home/cassandra/cassandra-dtest/read_repair_test.py:54: AssertionError
{code}
was:
Looks like env / byteman script issues.
{quote}
ead_repair_test.TestReadRepairGuarantees
read_repair_test.py
AssertionError: byteman script didn't compile ERROR : Unable to open file : ./byteman/read_repair/stop_writes.btm java.io.FileNotFoundException: ./byteman/read_repair/stop_writes.btm (No such file or directory) assert not True self = <read_repair_test.TestReadRepairGuarantees object at 0x7fc1632fd7b8> repair_type = 'none', expect_atomic = True @pytest.mark.parametrize("repair_type,expect_atomic", (('blocking', False), ('none', True)), ids=('blocking', 'none')) def test_atomic_writes(self, repair_type, expect_atomic): """ tests how read repair provides, or breaks, write atomicity 'none' read repair should maintain atomic writes, blocking and async should not """ assert repair_type in ('blocking', 'async', 'none') node1, node2, node3 = self.cluster.nodelist() session = self.get_cql_connection(node1, timeout=2) ddl = "CREATE TABLE ks.tbl (k int, c int, v1 int, v2 int, primary key (k, c)) WITH read_repair = '" + repair_type + "';" print (ddl) session.execute(ddl) session.execute(quorum("INSERT INTO ks.tbl (k, c, v1, v2) VALUES (1, 0, 1, 1)")) > with stop_writes(node2, node3): /home/cassandra/cassandra-dtest/read_repair_test.py:880: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.6/contextlib.py:81: in __enter__ return next(self.gen) /home/cassandra/cassandra-dtest/read_repair_test.py:789: in stop_writes with _byteman_cycle(nodes, \{'normal': [normal], 'repair': [repair], 'all': [normal, repair]}[kind]): /usr/lib/python3.6/contextlib.py:81: in __enter__ return next(self.gen) /home/cassandra/cassandra-dtest/read_repair_test.py:768: in _byteman_cycle byteman_validate(nodes[0], script_path(script)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = <ccmlib.node.Node object at 0x7fc1632fd908> script = './byteman/read_repair/stop_writes.btm', verbose = False, opts = [] def byteman_validate(node, script, verbose=False, opts=None): opts = opts or [] cdir = node.get_install_dir() byteman_cmd = [] byteman_cmd.append(os.path.join(os.environ['JAVA_HOME'], 'bin', 'java')) byteman_cmd.append('-cp') jars = [ glob.glob(os.path.join(cdir, 'build', 'lib', 'jars', 'byteman-[0-9]*.jar'))[0], os.path.join(cdir, 'build', '*'), ] byteman_cmd.append(':'.join(jars)) byteman_cmd.append('org.jboss.byteman.check.TestScript') byteman_cmd.append('-p') byteman_cmd.append(node.byteman_port) if verbose and '-v' not in opts: byteman_cmd.append('-v') byteman_cmd.append(script) # process = subprocess.Popen(byteman_cmd) # out, err = process.communicate() out = subprocess.check_output(byteman_cmd) if (out is not None) and isinstance(out, bytes): out = out.decode() has_errors = 'ERROR' in out if verbose and not has_errors: print (out) > assert not has_errors, "byteman script didn't compile\n" + out E AssertionError: byteman script didn't compile E ERROR : Unable to open file : ./byteman/read_repair/stop_writes.btm E java.io.FileNotFoundException: ./byteman/read_repair/stop_writes.btm (No such file or directory) E E assert not True /home/cassandra/cassandra-dtest/read_repair_test.py:54: AssertionError
{quote}
> Test Failure: python dtest, circleci, test_atomic_writes[none]
> --------------------------------------------------------------
>
> Key: CASSANDRA-17289
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17289
> Project: Cassandra
> Issue Type: Bug
> Reporter: Josh McKenzie
> Priority: Normal
>
> Looks like env / byteman script issues.
> {code}
> ead_repair_test.TestReadRepairGuarantees
> read_repair_test.py
> AssertionError: byteman script didn't compile ERROR : Unable to open file : ./byteman/read_repair/stop_writes.btm java.io.FileNotFoundException: ./byteman/read_repair/stop_writes.btm (No such file or directory) assert not True
> self = <read_repair_test.TestReadRepairGuarantees object at 0x7fc1632fd7b8>
> repair_type = 'none', expect_atomic = True
> @pytest.mark.parametrize("repair_type,expect_atomic",
> (('blocking', False), ('none', True)),
> ids=('blocking', 'none'))
> def test_atomic_writes(self, repair_type, expect_atomic):
> """
> tests how read repair provides, or breaks, write atomicity
> 'none' read repair should maintain atomic writes, blocking and async should not
> """
> assert repair_type in ('blocking', 'async', 'none')
> node1, node2, node3 = self.cluster.nodelist()
>
> session = self.get_cql_connection(node1, timeout=2)
> ddl = "CREATE TABLE ks.tbl (k int, c int, v1 int, v2 int, primary key (k, c)) WITH read_repair = '" + repair_type + "';"
> print (ddl)
> session.execute(ddl)
>
> session.execute(quorum("INSERT INTO ks.tbl (k, c, v1, v2) VALUES (1, 0, 1, 1)"))
>
> > with stop_writes(node2, node3):
> /home/cassandra/cassandra-dtest/read_repair_test.py:880:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> /usr/lib/python3.6/contextlib.py:81: in __enter__
> return next(self.gen)
> /home/cassandra/cassandra-dtest/read_repair_test.py:789: in stop_writes
> with _byteman_cycle(nodes, {'normal': [normal], 'repair': [repair], 'all': [normal, repair]}[kind]):
> /usr/lib/python3.6/contextlib.py:81: in __enter__
> return next(self.gen)
> /home/cassandra/cassandra-dtest/read_repair_test.py:768: in _byteman_cycle
> byteman_validate(nodes[0], script_path(script))
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> node = <ccmlib.node.Node object at 0x7fc1632fd908>
> script = './byteman/read_repair/stop_writes.btm', verbose = False, opts = []
> def byteman_validate(node, script, verbose=False, opts=None):
> opts = opts or []
> cdir = node.get_install_dir()
> byteman_cmd = []
> byteman_cmd.append(os.path.join(os.environ['JAVA_HOME'],
> 'bin',
> 'java'))
> byteman_cmd.append('-cp')
> jars = [
> glob.glob(os.path.join(cdir, 'build', 'lib', 'jars', 'byteman-[0-9]*.jar'))[0],
> os.path.join(cdir, 'build', '*'),
> ]
> byteman_cmd.append(':'.join(jars))
> byteman_cmd.append('org.jboss.byteman.check.TestScript')
> byteman_cmd.append('-p')
> byteman_cmd.append(node.byteman_port)
> if verbose and '-v' not in opts:
> byteman_cmd.append('-v')
> byteman_cmd.append(script)
> # process = subprocess.Popen(byteman_cmd)
> # out, err = process.communicate()
> out = subprocess.check_output(byteman_cmd)
> if (out is not None) and isinstance(out, bytes):
> out = out.decode()
>
> has_errors = 'ERROR' in out
> if verbose and not has_errors:
> print (out)
>
> > assert not has_errors, "byteman script didn't compile\n" + out
> E AssertionError: byteman script didn't compile
> E ERROR : Unable to open file : ./byteman/read_repair/stop_writes.btm
> E java.io.FileNotFoundException: ./byteman/read_repair/stop_writes.btm (No such file or directory)
> E
> E assert not True
> /home/cassandra/cassandra-dtest/read_repair_test.py:54: AssertionError
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org