Race condition in workspace collection add and delete


storeManifest(...) in ArchiveBase calls:

If two threads execute this at similar times for different MPs, there is a possibility of a race condition, where thread1 removes the parent collection folder (workspace/collection/archive) in deleteFromCollection while thread2 is running putInCollection.

This has been seen in our production 3.x system and leads to a FileNotFoundException:

As there's no real need to remove the collection folder, we should leave it around to avoid the race condition.


Karen Dolan
January 2, 2018, 2:11 PM

That commit above was added after v3.3. The v3.3 has an "optional" delete parent directory

Fixed and reviewed
Your pinned fields
Click on the next to a field label to start pinning.


Stephen Marquard


Stephen Marquard