Hi Roger,
On 16/05/2019 6:32 am, Roger Riggs wrote:
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.
That looks fine to me. Even if the value could change repeatedly you
don't need the sync on the read, as long as its volatile.
Cheers,
David
-----
Issue:
https://bugs.openjdk.java.net/browse/JDK-8220166
Webrev:
http://cr.openjdk.java.net/~rriggs/webrev-fix-8220166/index.html
Thanks, Roger