Uploaded image for project: 'EJBCA'
  1. EJBCA
  2. ECA-3524

Improve memory usage during CRL generation

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: EJBCA 6.1.2
    • Fix Version/s: EJBCA 6.2.0
    • Component/s: PKI core
    • Labels:
      None
    • Issue discovered during:
      Integration

      Description

      When generating large CRLs we keep the entire list of RevokedCertInfo read from the database in memory.

      We iterate over the list twice:

      • Archival of certs that appear on the CRL for the last time
      • Add the certs to the BouncyCastle CRL-generator

      By using a compressed in-memory buffer we can significantly reduce the amount of non-garbage-collectable memory used at any time.

      The suggested fix implements the important parts of java.util.Collection to make the impact on the core code as small as possible.

      CompressedCollection.clear() should be used to ensure that no resource leakage occur.

      Data from the database should be read paginated to further reduce the maximum heap usage.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              johan Johan Eklund
              Reporter:
              johan Johan Eklund
              Verified by:
              Mike Agrenius Kushner
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: