RFR: 8294375: test/jdk/java/nio/channels/vthread/BlockingChannelOps.java is slow [v2]
Alan Bateman
alanb at openjdk.org
Tue Sep 27 15:35:34 UTC 2022
> BlockingChannelOps.java and BlockingSocketOps.java test virtual threads doing blocking I/O on channels and java.net sockets.
>
> BlockingChannelOps has 32 tests at this time and takes nearly 120s to run due to several tests that sleep to improve the chances that threads are blocked. These sleeps can be replaced with a poll of the thread state so the test runs in 3-4s. BlockingSocketOps has be changed to do the same time.
>
> In passing, I updated the tests in BlockingSocketOps that bound a ServerSocket to the wildcard address so they bind to the loopback address instead. This helps reduce potential interference in CI environments. I also put a workaround into BlockingChannelOps for macOS where the kernel appears to increase the amount of bytes that can be buffered in the socket sender buffer, it's otherwise too hard to test that socket writes block on that platform.
Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
- Change testSocketWrite1 to use in.transfer, and fix typo in comment
- Merge
- Initial commit
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/10427/files
- new: https://git.openjdk.org/jdk/pull/10427/files/a1a23d1d..54da8dee
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=10427&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=10427&range=00-01
Stats: 2990 lines in 97 files changed: 2464 ins; 347 del; 179 mod
Patch: https://git.openjdk.org/jdk/pull/10427.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10427/head:pull/10427
PR: https://git.openjdk.org/jdk/pull/10427
More information about the nio-dev
mailing list