RFR: 8308310: HttpClient: Avoid logging or locking from within synchronized blocks
    Daniel Fuchs 
    dfuchs at openjdk.org
       
    Wed May 17 18:54:20 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 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.
-------------
Commit messages:
 - 8308310
Changes: https://git.openjdk.org/jdk/pull/14038/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14038&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8308310
  Stats: 886 lines in 31 files changed: 518 ins; 110 del; 258 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