-
Notifications
You must be signed in to change notification settings - Fork 926
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BlockHound: Temporarily disable detection of SecureRandom
as blocking
#5430
Conversation
Motivation: BlockHound reported that `io.fabric8.kubernetes.client.http.StandardHttpRequest` uses a blocking call. https://github.com/line/armeria/actions/runs/7721798741/job/21048920064?pr=5370#step:17:30 ``` java.lang.Exception: java.io.FileInputStream#readBytes at com.linecorp.armeria.internal.testing.InternalTestingBlockHoundIntegration.writeBlockingMethod(InternalTestingBlockHoundIntegration.java:84) at reactor.blockhound.BlockHound$Builder.lambda$install$8(BlockHound.java:472) at reactor.blockhound.BlockHoundRuntime.checkBlocking(BlockHoundRuntime.java:89) at java.base/java.io.FileInputStream.readBytes(FileInputStream.java) at java.base/java.io.FileInputStream.read(FileInputStream.java:293) at java.base/java.io.FilterInputStream.read(FilterInputStream.java:119) at java.base/sun.security.provider.NativePRNG$RandomIO.readFully(NativePRNG.java:425) at java.base/sun.security.provider.NativePRNG$RandomIO.ensureBufferValid(NativePRNG.java:528) at java.base/sun.security.provider.NativePRNG$RandomIO.implNextBytes(NativePRNG.java:547) at java.base/sun.security.provider.NativePRNG.engineNextBytes(NativePRNG.java:221) at java.base/java.security.SecureRandom.nextBytes(SecureRandom.java:758) at java.base/java.util.UUID.randomUUID(UUID.java:151) at io.fabric8.kubernetes.client.http.StandardHttpRequest.<init>(StandardHttpRequest.java:116) at io.fabric8.kubernetes.client.http.StandardHttpRequest$Builder.build(StandardHttpRequest.java:201) ``` There is nothing we can do except add an exception rule for that. So the issue is reported to the upstream. fabric8io/kubernetes-client#5735 The blocking call is temporarily allowed until the problem is resolved in the upstream. Modifications: - Allow blocking calls inside `StandardHttpRequest$Builder.build()`. Result: Make CI build pass to identify meaningful problems.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! 👍 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 👍 👍
Thanks for the quick review. 🙇♂️ |
Motivation:
BlockHound reported that
io.fabric8.kubernetes.client.http.StandardHttpRequest
invoked blocking calls.https://github.com/line/armeria/actions/runs/7721798741/job/21048920064?pr=5370#step:17:30
There is nothing we can do except add an exceptional rule for that. So the issue is reported to the upstream.
fabric8io/kubernetes-client#5735
The blocking call is temporarily allowed until the problem is resolved in the upstream.
Modifications:
StandardHttpRequest$Builder.build()
.Result:
Make CI build pass to identify meaningful problems.