You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Berenguer Blasi (Jira)" <ji...@apache.org> on 2021/11/04 10:33:00 UTC
[jira] [Commented] (CASSANDRA-17119) Broken
test_speculative_data_request
[ https://issues.apache.org/jira/browse/CASSANDRA-17119?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17438620#comment-17438620 ]
Berenguer Blasi commented on CASSANDRA-17119:
---------------------------------------------
This test passes on cassandra dtest c2256c72ea9851a259df79d76239d2df80cd97b8 but fails on [6016da3b696481dd7c948cbb65f211461e4e6047|https://github.com/apache/cassandra-dtest/commit/6016da3b696481dd7c948cbb65f211461e4e6047] related to CASSANDRA-16928.
Copying over the previous {{byteman/request_verb_timing.btm}} fixes the test. Mainly imo bc {{InetAddressAndPort}} is missing a {{getAddress()}} method from {{InetSocketAddress}} in older java branches <=4.0?
Given the 16928 is a big PR and seems to be part of an even bigger stream of merges I lack the context to guess which is the best fix here: add the {{InetSocketAddress}} inheritance to the older branches, create a different btm for <=4.0 branches, sthg else? Some guidance would be appreciated thx.
> Broken test_speculative_data_request
> ------------------------------------
>
> Key: CASSANDRA-17119
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17119
> Project: Cassandra
> Issue Type: Bug
> Components: Test/dtest/python
> Reporter: Berenguer Blasi
> Assignee: Berenguer Blasi
> Priority: Normal
> Fix For: 4.0.x, 4.x
>
>
> This has been failing consistently lately
> {noformat}
> Error Message
> KeyError: '127.0.0.3'
> Stacktrace
> self = <read_repair_test.TestSpeculativeReadRepair object at 0x7f979a965850>
> @since('4.0')
> def test_speculative_data_request(self):
> """ If one node doesn't respond to a full data request, it should query the other """
> node1, node2, node3 = self.cluster.nodelist()
> assert isinstance(node1, Node)
> assert isinstance(node2, Node)
> assert isinstance(node3, Node)
> session = self.get_cql_connection(node1, timeout=2)
>
> session.execute(quorum("INSERT INTO ks.tbl (k, c, v) VALUES (1, 0, 1)"))
>
> node2.byteman_submit(['./byteman/read_repair/stop_writes.btm'])
> node3.byteman_submit(['./byteman/read_repair/stop_writes.btm'])
>
> session.execute("INSERT INTO ks.tbl (k, c, v) VALUES (1, 1, 2)")
>
> # re-enable writes
> node2.byteman_submit(['-u', './byteman/read_repair/stop_writes.btm'])
>
> node1.byteman_submit(['./byteman/read_repair/sorted_live_endpoints.btm'])
> node1.byteman_submit(['./byteman/request_verb_timing.btm'])
>
> with StorageProxy(node1) as storage_proxy:
> assert storage_proxy.blocking_read_repair == 0
> assert storage_proxy.speculated_rr_read == 0
> assert storage_proxy.speculated_rr_write == 0
>
> session = self.get_cql_connection(node1)
> node2.byteman_submit(['./byteman/read_repair/stop_data_reads.btm'])
> results = session.execute(quorum("SELECT * FROM ks.tbl WHERE k=1"))
>
> timing = request_verb_timing(node1)
> > repair_req_node3 = timing[node3.ip_addr].get('READ_REPAIR_REQ')
> E KeyError: '127.0.0.3'
> read_repair_test.py:621: KeyError
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org