RFR: 8308310: HttpClient: Avoid logging or locking from within synchronized blocks [v6]

Daniel Fuchs dfuchs at openjdk.org
Thu May 18 16:47:10 UTC 2023


> Please find here a change that revisits usage of monitors in the HttpClient.
> 
> With Virtual Threads now part of the platform it should be possible to pass a newVirtualThreadPerTaskExecutor to the HttpClient. Logging, when enabled, and when called from a synchronized block, can cause the carrier thread to get pinned in case of contention when printing through the underlying PrintStream.
> 
> This change aims at avoiding situations where the carrier threads might get pinned.

Daniel Fuchs has updated the pull request incrementally with one additional commit since the last revision:

  make stateLock final

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/14038/files
  - new: https://git.openjdk.org/jdk/pull/14038/files/7bd88c37..e3d60965

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14038&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14038&range=04-05

  Stats: 2 lines in 2 files changed: 1 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/14038.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14038/head:pull/14038

PR: https://git.openjdk.org/jdk/pull/14038


More information about the net-dev mailing list