-
Type: New Feature
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Component/s: BlobManager, Core
-
Release Notes Summary:New scrolls to iterate over blobs stored by a repository through its BlobStoreBlobProvider's (S3, Local and In-Memory) are available
-
Epic Link:
-
Tags:
-
Team:PLATFORM
-
Sprint:nxplatform #85, nxplatform #86
-
Story Points:8
We'll need to implement a new org.nuxeo.ecm.core.api.scroll.ScrollRequest passing a blob providerId, the repository name will be part of the bulk command. We may need a meta Scroller to iterate over the provider ids of a repo if many.
Be careful not allow to passing a providerId with a bad repository name (else we'll end up deleting data that should not be deleted). We can enforce this in org.nuxeo.ecm.core.bulk.BulkActionValidation ?
Do not expose a providerId param at Bulk Command level
A dryRun option could be a param of the Bulk Command.
The BulkStatus could have a new counter in addition to the total and processed counters to give information on how many blobs were effectively deleted (in this use case)
We probably want to prevent 2 concurrent scrolls for Full GCs even on the same repo and we should set sequentialCommands to true.
Let's focus on:
- S3BlobStore (see current S3BlobGarbageCollector to iterate over objects)
- LocalBlobStore (see https://docs.oracle.com/javase/7/docs/api/java/io/File.html#listFiles() to use newDirectoryStream to iterate over files
- is required by
-
NXP-31805 Orphan file deletion in Nuxeo
- Open