Description
It could be useful to have a tool that allows to copy blob chunks directly between different stores, so users can quickly migrate their data, without a need to touch the node store, consolidate binaries, etc.
Such tool should have direct access to the methods operating on the binary blocks, implemented in the AbstractBlobStore and its subtypes:
void storeBlock(byte[] digest, int level, byte[] data); byte[] readBlockFromBackend(BlockId blockId); Iterator<String> getAllChunkIds(final long maxLastModifiedTime);
My proposal is to create a ChunkedBlobStore interface containing these methods, which can be implemented by FileBlobStore and MongoBlobStore.
Then we can enumerate all chunk ids, read the underlying blocks from source blob store and save them in the destination.
Attachments
Issue Links
- is superceded by
-
OAK-3148 Online migration process for the binaries
- Closed