Please review a change in the synchronization during the creation of an ObjectInputStream. Currently, a synchronized block is used to initialize the streams filter is read the global serial filter which becomes a bottleneck under high concurrency.  Since the value only ever changes from null to non-null once, the synchronization is not needed.  Changing the field to volatile and removing
the synchronization on read should alleviate the contention.

Issue:
  https://bugs.openjdk.java.net/browse/JDK-8220166

Webrev:
  http://cr.openjdk.java.net/~rriggs/webrev-fix-8220166/index.html

Thanks, Roger

Reply via email to