Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7107613

scalability blocker in javax.crypto.CryptoPermissions

    Details

    • Subcomponent:
    • Resolved In Build:
      b08
    • CPU:
      sparc
    • OS:
      generic
    • Verification:
      Not verified

      Backports

        Description

        CryptoPermissions uses Hashtable as internal collection.
        Lock contention on the Hashtable broke scalability.
        Patch is suggested, where ConcurrentHashMap is used.
        The attached webrev.zip contain suggested patch.

        Gives +12% to SPECjbb2012(encrypted transport) on T4-4.

          Activity

          Hide
          valeriep Valerie Peng added a comment -
          BT2:EVALUATION

          The suggested patch replaces the usage of Hashtable w/ ConcurrentHashMap.
          This will introduce an incompatiblity in serialization format as CryptoPermissions class are declared to be serializable and the field "perms" (which used to be Hashtable) are part of the serialized bytes.

          The easiest approach would be to bump out the serialVersionUID to indicate the incompatibility between different JDK releases after making this Hashtable -> ConcurrentHashMap performance enhancement.

          Otherwise, we may have to employ some custom serialization methods to maintain the old serialization format to ensure compatibility.
          Show
          valeriep Valerie Peng added a comment - BT2:EVALUATION The suggested patch replaces the usage of Hashtable w/ ConcurrentHashMap. This will introduce an incompatiblity in serialization format as CryptoPermissions class are declared to be serializable and the field "perms" (which used to be Hashtable) are part of the serialized bytes. The easiest approach would be to bump out the serialVersionUID to indicate the incompatibility between different JDK releases after making this Hashtable -> ConcurrentHashMap performance enhancement. Otherwise, we may have to employ some custom serialization methods to maintain the old serialization format to ensure compatibility.
          Hide
          coffeys Sean Coffey added a comment -
          BT2:EVALUATION

          backport, signed binaries to follow..
          Show
          coffeys Sean Coffey added a comment - BT2:EVALUATION backport, signed binaries to follow..
          Hide
          coffeys Sean Coffey added a comment -
          **may be necessary for SPECjbb2012 numbers.
          Show
          coffeys Sean Coffey added a comment - **may be necessary for SPECjbb2012 numbers.
          Hide
          skonchad Sandeep Konchady added a comment -
          SQE/OK for accepting this fix
          Show
          skonchad Sandeep Konchady added a comment - SQE/OK for accepting this fix
          Hide
          hgupdate HG Updates added a comment -
          URL: http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/9ca10ab155e3
          User: coffeys
          Date: 2012-12-20 17:35:22 +0000
          Show
          hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/9ca10ab155e3 User: coffeys Date: 2012-12-20 17:35:22 +0000
          Hide
          hgupdate HG Updates added a comment -
          URL: http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/rev/9ca10ab155e3
          User: lana
          Date: 2012-12-28 18:30:44 +0000
          Show
          hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk7u/jdk7u/jdk/rev/9ca10ab155e3 User: lana Date: 2012-12-28 18:30:44 +0000
          Hide
          mkondrat Mikhail Kondratyev (Inactive) added a comment -
          Pavel, why no-need-test? It even has related issue for test development. I will update the label for now
          Show
          mkondrat Mikhail Kondratyev (Inactive) added a comment - Pavel, why no-need-test? It even has related issue for test development. I will update the label for now
          Hide
          asmotrak Artem Smotrakov added a comment -
          There is a chain of bug fixes: JDK-7107611, JDK-7107613, JDK-7107615, JDK-7107616. Performance will get better only if all these bugs are fixed. Close/Unverified.
          Show
          asmotrak Artem Smotrakov added a comment - There is a chain of bug fixes: JDK-7107611 , JDK-7107613 , JDK-7107615 , JDK-7107616 . Performance will get better only if all these bugs are fixed. Close/Unverified.

            People

            • Assignee:
              coffeys Sean Coffey
              Reporter:
              skuksenko Sergey Kuksenko
            • Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Imported:
                Indexed: