Skip to content

Commit de0209a

Browse files
committed
Attempt to address flakiness of VertxConnectionMetricsTest
1 parent 6a04758 commit de0209a

File tree

2 files changed

+42
-28
lines changed

2 files changed

+42
-28
lines changed

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/exporter/otlp/sender/VertxGrpcSender.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -113,20 +113,27 @@ public CompletableResultCode shutdown() {
113113
return shutdownResult;
114114
}
115115

116-
client.close()
117-
.onSuccess(
118-
new Handler<>() {
119-
@Override
120-
public void handle(Void event) {
121-
shutdownResult.succeed();
122-
}
123-
})
124-
.onFailure(new Handler<>() {
125-
@Override
126-
public void handle(Throwable event) {
127-
shutdownResult.fail();
128-
}
129-
});
116+
try {
117+
client.close()
118+
.onSuccess(
119+
new Handler<>() {
120+
@Override
121+
public void handle(Void event) {
122+
shutdownResult.succeed();
123+
}
124+
})
125+
.onFailure(new Handler<>() {
126+
@Override
127+
public void handle(Throwable event) {
128+
shutdownResult.fail();
129+
}
130+
});
131+
} catch (RejectedExecutionException e) {
132+
internalLogger.log(Level.FINE, "Unable to complete shutdown", e);
133+
// if Netty's ThreadPool has been closed, this onSuccess() will immediately throw RejectedExecutionException
134+
// which we need to handle
135+
shutdownResult.fail();
136+
}
130137
return shutdownResult;
131138
}
132139

extensions/opentelemetry/runtime/src/main/java/io/quarkus/opentelemetry/runtime/exporter/otlp/sender/VertxHttpSender.java

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -154,20 +154,27 @@ public CompletableResultCode shutdown() {
154154
return shutdownResult;
155155
}
156156

157-
client.close()
158-
.onSuccess(
159-
new Handler<>() {
160-
@Override
161-
public void handle(Void event) {
162-
shutdownResult.succeed();
163-
}
164-
})
165-
.onFailure(new Handler<>() {
166-
@Override
167-
public void handle(Throwable event) {
168-
shutdownResult.fail();
169-
}
170-
});
157+
try {
158+
client.close()
159+
.onSuccess(
160+
new Handler<>() {
161+
@Override
162+
public void handle(Void event) {
163+
shutdownResult.succeed();
164+
}
165+
})
166+
.onFailure(new Handler<>() {
167+
@Override
168+
public void handle(Throwable event) {
169+
shutdownResult.fail();
170+
}
171+
});
172+
} catch (RejectedExecutionException e) {
173+
internalLogger.log(Level.FINE, "Unable to complete shutdown", e);
174+
// if Netty's ThreadPool has been closed, this onSuccess() will immediately throw RejectedExecutionException
175+
// which we need to handle
176+
shutdownResult.fail();
177+
}
171178
return shutdownResult;
172179
}
173180

0 commit comments

Comments
 (0)