RFR: Ensure vthread has connected to server
Alan Bateman
alanb at openjdk.java.net
Mon Sep 6 10:15:56 UTC 2021
On Mon, 6 Sep 2021 04:56:24 GMT, Miao Zheng <github.com+20216587+miao-zheng at openjdk.org> wrote:
> I have run the test case of InterruptHttp.java in fast debug version of jdk with options:
> -XX:+UseG1GC -XX:+ScavengeALot -XX:ScavengeALotInterval=200 -XX:-GCALotAtAllSafepoints
>
> And the test case failed, The output is "Execution failed: `main' threw exception: java.lang.RuntimeException: Expected 1 HTTP connection"
>
> The reason is Thread.sleep(1000) can not ensure that vthread has connected to server when using some options and fastdebug version of jdk.
>
> So, I fix this to ensure vthread has connected to server.
test/jdk/java/lang/Thread/virtual/InterruptHttp.java line 60:
> 58: while (thread.getState() != Thread.State.WAITING) {
> 59: Thread.sleep(1000);
> 60: }
Thanks for this. You are right that that the test is problematic. Can you try the following instead of polling the thread state? This will wait until a connection is established so that the read is interrupted.
while (server.connectionCount() == 0) {
Thread.sleep(100);
}
-------------
PR: https://git.openjdk.java.net/loom/pull/60
More information about the loom-dev
mailing list