JDK-8229958 : Provider.getService() scalability issue for legacy algorithm and message digest
  • Type: Bug
  • Component: security-libs
  • Sub-Component: java.security
  • Priority: P4
  • Status: Resolved
  • Resolution: Duplicate
  • CPU: generic
  • Submitted: 2019-08-20
  • Updated: 2023-08-08
  • Resolved: 2023-08-08
Related Reports
Duplicate :  
Duplicate :  
Description
While JDK-7092821 fixed the scalability issue when Cipher.getInstance() is called, there are other excessive synchronization points in the package for legacy algorithms and message digest. It includes:
  http://hg.openjdk.java.net/jdk/jdk/file/c83245fe66b3/src/java.base/share/classes/java/security/Provider.java#l1254
  http://hg.openjdk.java.net/jdk/jdk/file/c83245fe66b3/src/java.base/share/classes/sun/security/jca/ProviderConfig.java#l164

Mutators still need synchronization to be there, but the reads do not need to be inside the synchronized blocks.
Comments
I think the Provider bottleneck was fixed by JDK-8276660, and ProviderConfig bottleneck was fixed by JDK-8259065. I am closing this one as Duplicate of those two.
08-08-2023

Changing to Unassigned due to changing priorities.
11-11-2022

Assigning to Xin Liu now that he's an Author.
20-03-2020

Assigning myself (phh) as sponsor.
25-09-2019

Submit this issue on behalf of letuyang@amazon He will send webrev to review.
20-08-2019