> The java/net/httpclient/DigestEchoClient.java fails intemittently with > IOException: HTTP/1.1 header parser received no bytes. > > Analysis shows that this is caused by the CleanupTrigger which receives data > after the reused connection has been taken out of the HTTP/1.1 clear pool. > This should not happen. > > The issue is caused by deferred registration of read subscribers with the > SocketTube. The subscribers are registered within the SelectorManager thread > to ensure proper interaction with the read method. > > Sometimes pending subscribers are pushed faster than they are actually > subscribed, which may cause the wrong subscriber to be subscribed at the > wrong time. > > This is a redo of [JDK-8336655](https://bugs.openjdk.org/browse/JDK-8336655) > which was a failed fix. > The main difference is that the new fix uses a ConcurrentLinkedQueue to make > sure all subscribers get subscribed and dropped in the right sequence. > Marking previous subscription as stopped ensures that data can only be routed > to the last subscriber in the queue.
Daniel Fuchs 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 five additional commits since the last revision: - Copyright year updates - Merge branch 'master' into CleanupTrigger-2-JDK-8338569 - Update src/java.net.http/share/classes/jdk/internal/net/http/ConnectionPool.java - Better exception message for ShutdownNow - 8338569 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/20623/files - new: https://git.openjdk.org/jdk/pull/20623/files/dc52bbc1..702a88f0 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=20623&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20623&range=02-03 Stats: 13197 lines in 475 files changed: 8524 ins; 2833 del; 1840 mod Patch: https://git.openjdk.org/jdk/pull/20623.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/20623/head:pull/20623 PR: https://git.openjdk.org/jdk/pull/20623