RFR 8229958: Provider.getService() scalability issue for legacy algorithms and message digests

Alan Bateman Alan.Bateman at oracle.com
Fri Aug 23 09:08:51 UTC 2019


On 22/08/2019 01:01, Yang, Letu wrote:
> Hi,
>
> Please review the fix of https://bugs.openjdk.java.net/browse/JDK-8229958 where I made the change to allow majority of calls don't have to acquire the locks when checking the availability of the Provider object. Similar effort had been made in fixing https://bugs.openjdk.java.net/browse/JDK-7092821 , but it only helped the calls for new encryption algorithms. Xin had helped me to upload the CR:  https://cr.openjdk.java.net/~xliu/8229958/01/webrev/ .
I skimmed through java/security/Provider.java and I think it will needs 
further work. I suspect ensureLegacyParser (and parseLegacyPut) need to 
replace legacyMap after the new map has been populated, otherwise you 
risk a caller to getService accessing the new map before it has been 
populated.

The change to ProviderConfig.getProvider looks okay but would be good 
for someone more familiar with this code to also check it.

-Alan










More information about the security-dev mailing list