You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2020/04/27 22:29:33 UTC
[geode] 01/01: GEODE-8021: CI Failure: CloseConnectionTest.
sharedSenderShouldRecoverFromClosedSocket
This is an automated email from the ASF dual-hosted git repository.
bschuchardt pushed a commit to branch feature/GEODE-8021
in repository https://gitbox.apache.org/repos/asf/geode.git
commit 022f6049fc84df3ae929cde0dec20b5aa2b9edb3
Author: Bruce Schuchardt <bs...@pivotal.io>
AuthorDate: Mon Apr 27 15:28:03 2020 -0700
GEODE-8021: CI Failure: CloseConnectionTest. sharedSenderShouldRecoverFromClosedSocket
fixing a marginally flaky test
- ensure no bleed-through from other tests in ConnectionTable's
ThreadLocal, which would cause getConnection to return the wrong
sort of Connection
- since Connections are multi-threaded and the state we're looking for
is set by a background thread, use GeodeAwaitility to wait for the
condition to be set.
---
.../java/org/apache/geode/internal/tcp/CloseConnectionTest.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/tcp/CloseConnectionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/tcp/CloseConnectionTest.java
index 8cc284b..78a5153 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/tcp/CloseConnectionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/tcp/CloseConnectionTest.java
@@ -106,7 +106,12 @@ public class CloseConnectionTest implements Serializable {
.getOtherNormalDistributionManagerIds().iterator().next();
Connection connection = conTable.getConduit().getConnection(otherMember, true, false,
System.currentTimeMillis(), 15000, 0);
- assertThat(connection.hasResidualReaderThread()).isTrue();
+ await().untilAsserted(() -> {
+ // grab the shared, ordered "sender" connection to vm0. It should have a residual
+ // reader thread that exists to detect that the socket has been closed.
+ ConnectionTable.threadWantsSharedResources();
+ assertThat(connection.hasResidualReaderThread()).isTrue();
+ });
});
}