At the moment, only one CRL Updater Service can run at a time. When a CRL Updater Service is started it grabs a lock which is released when the service completes. If someone else holds the lock, the service won't start.
It should be possible for two CRL Updater Services to run in parallel as long as they generate CRLs for different CAs, i.e. there should be one lock per CA instead of having one lock for all CAs.
This would allow an administrator to set up many CRL Updater Services with different intervals. Imagine a scenario where there are two CAs A and B. A has a very large CRL which takes 10 minutes to generate. This CRL should be updated once a day. B has a very small CRL, which only takes a couple of seconds to generate. But it should be updated very frequently (say every 5 minutes). Unfortunately, with the current design the CRL generation for A can block the CRL generation for B, causing B's CRL to expire.
- Update the documentation
- Merge the patch
- Set fix version