[ 
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

Reply via email to