diff --git a/kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/KubernetesBlockHoundIntegration.java b/kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/KubernetesBlockHoundIntegration.java index 04e8f2d3c56..a4153cf3c59 100644 --- a/kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/KubernetesBlockHoundIntegration.java +++ b/kubernetes/src/main/java/com/linecorp/armeria/client/kubernetes/KubernetesBlockHoundIntegration.java @@ -32,12 +32,5 @@ public void applyTo(Builder builder) { // a fully readable ByteBuffer. builder.allowBlockingCallsInside( "io.fabric8.kubernetes.client.http.HttpClientReadableByteChannel", "doLockedAndSignal"); - // StandardHttpRequest creates UUIDs using java.util.UUID.randomUUID() that uses SecureRandom. - // The method is temporarily allowed until the problem is resolved in the upstream. - // See: https://github.com/fabric8io/kubernetes-client/issues/5735 - // TODO(ikhoon): Remove this once the issue is fixed. - builder.allowBlockingCallsInside( - "io.fabric8.kubernetes.client.http.StandardHttpRequest$Builder", - "build"); } } diff --git a/testing-internal/src/main/java/com/linecorp/armeria/internal/testing/InternalTestingBlockHoundIntegration.java b/testing-internal/src/main/java/com/linecorp/armeria/internal/testing/InternalTestingBlockHoundIntegration.java index 3d62508a2b6..9fc2d90b760 100644 --- a/testing-internal/src/main/java/com/linecorp/armeria/internal/testing/InternalTestingBlockHoundIntegration.java +++ b/testing-internal/src/main/java/com/linecorp/armeria/internal/testing/InternalTestingBlockHoundIntegration.java @@ -52,6 +52,8 @@ public void write(int b) throws IOException { @Override public void applyTo(Builder builder) { + builder.nonBlockingThreadPredicate(predicate -> predicate.and( + thread -> !thread.getName().startsWith("vert.x-internal-blocking"))); // tests are allowed to block event loops builder.allowBlockingCallsInside("com.linecorp.armeria.internal.testing.BlockingUtils", @@ -76,6 +78,12 @@ public void applyTo(Builder builder) { builder.allowBlockingCallsInside("com.linecorp.armeria.client.ClientFactory", "ofDefault"); builder.allowBlockingCallsInside("io.envoyproxy.controlplane.cache.SimpleCache", "createWatch"); builder.allowBlockingCallsInside("io.grpc.netty.shaded.io.netty.util.Version", "identify"); + builder.allowBlockingCallsInside( + "io.fabric8.kubernetes.client.server.mock.WatchEventsListener", "onClosed"); + builder.allowBlockingCallsInside( + "io.fabric8.kubernetes.client.server.mock.WatchEventsListener", "onFailure"); + builder.allowBlockingCallsInside("io.fabric8.mockwebserver.internal.WebSocketSession", "onOpen"); + builder.allowBlockingCallsInside("io.vertx.core.spi.tls.DefaultSslContextFactory", "createContext"); // prints the exception which makes it easier to debug issues builder.blockingMethodCallback(this::writeBlockingMethod);