RFR: 8276660: Scalability bottleneck in java.security.Provider.getService() [v2]

Valerie Peng valeriep at openjdk.java.net
Tue Nov 30 02:34:08 UTC 2021


On Thu, 25 Nov 2021 10:42:14 GMT, Andrey Turbanov <duke at openjdk.java.net> wrote:

>> Valerie Peng has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Updated to use pattern matching with instanceof operator.
>
> src/java.base/share/classes/java/security/Provider.java line 1292:
> 
>> 1290:         }
>> 1291: 
>> 1292:         if (!legacyMap.isEmpty()) {
> 
> Looks like this check is redundant. get() will return `null` anyway.

Hmm, I suppose so.

> src/java.base/share/classes/java/security/Provider.java line 1324:
> 
>> 1322:     public Set<Service> getServices() {
>> 1323:         checkInitialized();
>> 1324:         if (serviceSet == null || legacyChanged || servicesChanged) {
> 
> `serviceSet` should be at least made `volatile`

Sure, will fix.

-------------

PR: https://git.openjdk.java.net/jdk/pull/6513



More information about the security-dev mailing list