RFR JDK-7092821 "java.security.Provider.getService() is synchronized and became scalability bottleneck"
Sean Mullan
sean.mullan at oracle.com
Tue Dec 4 22:29:48 UTC 2018
I haven't reviewed all of this, but had a couple of comments so far:
- VerificationProvider.java
77 // the provider. Otherwise, create a temporary map and use a
This comment is now stale so it needs to be removed/updated.
- Provider.java
You removed synchronized from several of the methods, but some of those
methods modified fields such as servicesChanged and legacyChanged. Are
there any concurrency issues or race conditions now that those methods
are not synchronized?
--Sean
On 11/21/18 1:05 PM, Valerie Peng wrote:
> Hi,
>
> Can someone help reviewing this fix?
>
> Besides changing the Provider class to use ConcurrentHashMap in order to
> reduce the lock contention on Provider.getService() calls, I also
> changed the security providers in java.base module to register through
> putService(...) calls. Performance is manually verified and mach5 run is
> clean.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-7092821
> Webrev: http://cr.openjdk.java.net/~valeriep/7092821/webrev.00/
>
> Thanks,
> Valerie
>
>
>
>
>
More information about the security-dev
mailing list