Skip to content

Commit 680fc69

Browse files
committed
Fix stream member error detection
1 parent b5a198f commit 680fc69

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/main/java/com/rabbitmq/client/amqp/impl/ExceptionUtils.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,13 @@ static boolean unauthorizedAccess(ClientResourceRemotelyClosedException e) {
132132
static boolean noRunningStreamMemberOnNode(Exception e) {
133133
if (e instanceof AmqpException.AmqpResourceClosedException) {
134134
String message = e.getMessage();
135-
return message != null
136-
&& message.contains("stream queue")
137-
&& message.contains("does not have a running replica on the local node")
138-
&& message.contains("noproc");
135+
if (message == null) {
136+
return false;
137+
} else {
138+
return (message.contains("stream queue")
139+
&& message.contains("does not have a running replica on the local node"))
140+
|| message.contains("noproc");
141+
}
139142
} else {
140143
return false;
141144
}

src/test/java/com/rabbitmq/client/amqp/impl/ExceptionUtilsTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ void testNoRunningStreamMemberOnNode() {
8383
new AmqpResourceClosedException(
8484
"stream queue 'stream-RecoveryClusterTest_clusterRestart-a69d-db752afee52a' in vhost '/' does not have a running replica on the local node [condition = amqp:internal-error]")))
8585
.isTrue();
86+
assertThat(noRunningStreamMemberOnNode(new AmqpResourceClosedException("noproc"))).isTrue();
8687
assertThat(noRunningStreamMemberOnNode(new AmqpResourceClosedException("foo"))).isFalse();
8788
assertThat(noRunningStreamMemberOnNode(new AmqpConnectionException("foo", null))).isFalse();
8889
}

0 commit comments

Comments
 (0)