You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michael Semb Wever (Jira)" <ji...@apache.org> on 2023/01/15 11:52:00 UTC

[jira] [Updated] (CASSANDRA-18163) Test Failure: transient_replication_test.TestTransientReplicationRepairLegacyStreaming.test_speculative_write_repair_cycle

     [ https://issues.apache.org/jira/browse/CASSANDRA-18163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Semb Wever updated CASSANDRA-18163:
-------------------------------------------
    Fix Version/s: 4.0.x
                   4.1.x
                   4.x

> Test Failure: transient_replication_test.TestTransientReplicationRepairLegacyStreaming.test_speculative_write_repair_cycle
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18163
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18163
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/dtest/python
>            Reporter: Michael Semb Wever
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x, 4.x
>
>
> Flaky.
> {noformat}
> self = <transient_replication_test.TestTransientReplicationRepairLegacyStreaming object at 0x7fbaa96e04c0>
>     @pytest.mark.no_vnodes
>     def test_speculative_write_repair_cycle(self):
>         """ incremental repair from full replica should remove data on node3 """
> >       self._test_speculative_write_repair_cycle(primary_range=False,
>                                                   optimized_repair=False,
>                                                   repair_coordinator=self.node1,
>                                                   expect_node3_data=False)
> transient_replication_test.py:504: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> self = <transient_replication_test.TestTransientReplicationRepairLegacyStreaming object at 0x7fbaa96e04c0>
> primary_range = False, optimized_repair = False
> repair_coordinator = <ccmlib.node.Node object at 0x7fbaa9a2d160>
> expect_node3_data = False, use_lcs = False
>     def _test_speculative_write_repair_cycle(self, primary_range, optimized_repair, repair_coordinator, expect_node3_data, use_lcs=False):
>         """
>             if one of the full replicas is not available, data should be written to the transient replica, but removed after incremental repair
>             """
>         for node in self.nodes:
>             self.assert_has_no_sstables(node)
>     
>         if use_lcs:
>             self.use_lcs()
>     
>         self.node2.byteman_submit([mk_bman_path('stop_writes.btm')])
>         # self.insert_row(1)
>         tm = lambda n: self.table_metrics(n)
>         with tm(self.node1) as tm1, tm(self.node2) as tm2, tm(self.node3) as tm3:
>             assert tm1.write_count == 0
>             assert tm2.write_count == 0
>             assert tm3.write_count == 0
>             self.insert_row(1, 1, 1)
>             assert tm1.write_count == 1
>             assert tm2.write_count == 0
>             assert tm3.write_count == 1
>     
>         self.assert_has_sstables(self.node1, flush=True)
>         self.assert_has_no_sstables(self.node2, flush=True)
>         self.assert_has_sstables(self.node3, flush=True)
>     
>         repair_opts = ['repair', self.keyspace]
>         if primary_range: repair_opts.append('-pr')
>         if optimized_repair: repair_opts.append('-os')
>         self.node1.nodetool(' '.join(repair_opts))
>     
>         self.assert_has_sstables(self.node1, compact=True)
>         self.assert_has_sstables(self.node2, compact=True)
>         if expect_node3_data:
>             self.assert_has_sstables(self.node3, compact=True)
>         else:
>             self.assert_has_no_sstables(self.node3, compact=True)
>     
>         entire_sstable = "true" if self.stream_entire_sstables() else "false"
> >       assert self.node2.grep_log('Incoming stream entireSSTable={}'.format(entire_sstable), filename='debug.log')
> E       AssertionError: assert []
> E        +  where [] = <bound method Node.grep_log of <ccmlib.node.Node object at 0x7fbaa96f4700>>('Incoming stream entireSSTable=false', filename='debug.log')
> E        +    where <bound method Node.grep_log of <ccmlib.node.Node object at 0x7fbaa96f4700>> = <ccmlib.node.Node object at 0x7fbaa96f4700>.grep_log
> E        +      where <ccmlib.node.Node object at 0x7fbaa96f4700> = <transient_replication_test.TestTransientReplicationRepairLegacyStreaming object at 0x7fbaa96e04c0>.node2
> E        +    and   'Incoming stream entireSSTable=false' = <built-in method format of str object at 0x7fbaa960f150>('false')
> E        +      where <built-in method format of str object at 0x7fbaa960f150> = 'Incoming stream entireSSTable={}'.format
> transient_replication_test.py:499: AssertionError
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org