-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 2023.0, 2021.35
-
Component/s: BlobManager, Core
-
Release Notes Summary:In case of async digest computation, the old blob is not garbage collected by the regular GC
-
Release Notes Description:
-
Tags:
-
Backlog priority:950
-
Team:PLATFORM
-
Sprint:nxplatform #97, nxplatform #98
-
Story Points:5
When async digest computation (NXP-30044) is enabled with
nuxeo.core.blobstore.digestAsync=true
The new incremental GC introduced by NXP-31594 may result in conversions/extraction work failing.
Scenario:
- Upload a blob and create a document with such blob attached as the main file. The current blob key is not yet a digest and the Nuxeo document references it as is.
- Async ComputeDigest work is scheduled and eventually started
- Other async work such conversions are scheduled and started pointing to a blob of which the key is not a digest
- ComputeDigest work eventually ends, copies the blob with its new digest key
and updates the blob property of the document accordingly - The incremental GC is triggered and deletes the unreferenced blob (the one of which the key was not a digest)
- The previously started conversion work fails because the blob was deleted
Temporary workaround
Disable GC with:
nuxeo.bulk.action.blobGC.enabled=false
see NXP-31794