[ https://issues.apache.org/jira/browse/CASSANDRA-17144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17546856#comment-17546856 ]
Stefan Miklosovic commented on CASSANDRA-17144: ----------------------------------------------- I am looking more into it, there needs to be some way / log to wait for. The problem is that when StorageService asks if it should hint a mutation to the node we just turned off the gossip for, it answers "yes" because stuff from TokenMetadata from was not removed yet. It is removed later down the road after node turns off the gossip. Indeed, it announces that it did so, but there is additional logic happening, tokens are moved around and so on and eventually it is removed from TokenMetadata. I need to find a what to somehow hook into this process. > Fix test TestHintedHandoff#test_hintedhandoff_window > ---------------------------------------------------- > > Key: CASSANDRA-17144 > URL: https://issues.apache.org/jira/browse/CASSANDRA-17144 > Project: Cassandra > Issue Type: Bug > Components: Test/dtest/python > Reporter: David Capwell > Assignee: Stefan Miklosovic > Priority: Normal > Fix For: 4.1-beta, 4.1.x, 4.x > > > This test fails from time to time (see butler > https://butler.cassandra.apache.org/#/ci/upstream/workflow/Cassandra-trunk/failure/hintedhandoff_test/TestHintedHandoff/test_hintedhandoff_window) > Example: > https://app.circleci.com/pipelines/github/dcapwell/cassandra/1101/workflows/7afb1c7e-8330-4ac6-963d-d7864282f2f3/jobs/7877 > {code} > # Ensure second and third datasets are not present > for x in range(100, 300): > > query_c1c2(session, x, ConsistencyLevel.ONE, > > tolerate_missing=True, must_be_missing=True) > hintedhandoff_test.py:264: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > tools/data.py:44: in query_c1c2 > assertions.assert_length_equal(rows, 0) > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > object_with_length = [Row(c1='value1', c2='value2')], expected_length = 0 > def assert_length_equal(object_with_length, expected_length): > """ > Assert an object has a specific length. > @param object_with_length The object whose length will be checked > @param expected_length The expected length of the object > > Examples: > assert_length_equal(res, nb_counter) > """ > assert len(object_with_length) == expected_length, \ > "Expected {} to have length {}, but instead is of length {}"\ > > .format(object_with_length, expected_length, > > len(object_with_length)) > E AssertionError: Expected [Row(c1='value1', c2='value2')] to have > length 0, but instead is of length 1 > tools/assertions.py:269: AssertionError > {code} -- This message was sent by Atlassian Jira (v8.20.7#820007) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org