[
https://issues.apache.org/jira/browse/CASSANDRA-16607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17323947#comment-17323947
]
Andres de la Peña commented on CASSANDRA-16607:
-----------------------------------------------
It seems that the problem is that since CASSANDRA-12653
{{MockMessagingSpy#mockedMessageResponses}} is increased asynchronously by
[this
thread|https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/net/MatcherResponse.java#L185-L198].
Because of this the value of {{mockedMessageResponses}} can be checked before
it has been increased by the thread, causing the reported failure.
The proposed PRs simply use {{spinAssertEquals}} to wait for the writer thread.
Also, I think there could be thread safety issues when increasing
{{mockedMessageResponses}} from different threads, so I'm making it an
{{AtomicInteger}}.
CI for 3.11:
*
[CircleCI|https://app.circleci.com/pipelines/github/adelapena/cassandra/275/workflows/8be80b18-c168-478d-ae1d-7cb5c04d4b9d]
* [Multiplexer
MockMessagingServiceTest|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/805/]
* [Multiplexer
ShadowRoundTest|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/807/]
CI for trunk:
* [CircleCI
j8|https://app.circleci.com/pipelines/github/adelapena/cassandra/276/workflows/f95f3503-1471-492a-ab86-13b7cd9fded2]
* [CircleCI
j11|https://app.circleci.com/pipelines/github/adelapena/cassandra/275/workflows/8be80b18-c168-478d-ae1d-7cb5c04d4b9d]
* [Multiplexer
MockMessagingServiceTest|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/806/]
* [Multiplexer
ShadowRoundTest|https://jenkins-dse.build.dsinternal.org/view/Parameterized/job/parameterized-testall/808/]
> Fix flaky test testRequestResponse –
> org.apache.cassandra.net.MockMessagingServiceTest
> --------------------------------------------------------------------------------------
>
> Key: CASSANDRA-16607
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16607
> Project: Cassandra
> Issue Type: Bug
> Components: Test/unit
> Reporter: David Capwell
> Assignee: Andres de la Peña
> Priority: Normal
> Fix For: 4.0-rc
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> https://ci-cassandra.apache.org/blue/organizations/jenkins/Cassandra-devbranch/detail/Cassandra-devbranch/659/tests/
> {code}
> Error
> expected:<1> but was:<0>
> Stacktrace
> junit.framework.AssertionFailedError: expected:<1> but was:<0>
> at
> org.apache.cassandra.net.MockMessagingServiceTest.testRequestResponse(MockMessagingServiceTest.java:81)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> Standard Output
> INFO [main] 2021-04-15 08:22:46,838 YamlConfigurationLoader.java:93 -
> Configuration location:
> file:/home/cassandra/cassandra/test/conf/cassandra.yaml
> DEBUG [main] 2021-04-15 08:22:46,840 YamlConfigurationLoader.java:112 -
> Loading settings from file:/home/cassandra/cassandra/test/conf/cassandra.yaml
> DEBUG [main] 2021-04-15 08:22:46,899 InternalLoggerFactory.java:63 - Using
> SLF4J as the default logging framework
> DEBUG [main] 2021-04-15 08:22:46,911 PlatformDependent0.java:417 -
> -Dio.netty.noUnsaf
> ...[truncated 61235 chars]...
> te NORMAL, token [a57d4b7f61f49471614b7ac41f16477e]
> DEBUG [main] 2021-04-15 08:22:49,840 StorageService.java:2674 - New node
> /127.0.0.1:7069 at token a57d4b7f61f49471614b7ac41f16477e
> DEBUG [main] 2021-04-15 08:22:49,848 StorageService.java:2727 - Node
> /127.0.0.1:7069 state NORMAL, token [a57d4b7f61f49471614b7ac41f16477e]
> INFO [main] 2021-04-15 08:22:49,848 StorageService.java:2730 - Node
> /127.0.0.1:7069 state jump to NORMAL
> DEBUG [main] 2021-04-15 08:22:49,849 StorageService.java:1619 - NORMAL
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]