Details
-
Improvement
-
Resolution: Done
-
Major
-
6.6.0
Description
cbbackupmgr currently uses the 'DataBackup' struct to coordinate reading/writing to our storage formats on disk. There a multiple limitations to 'DataBackup', the most important is that we are limited to reading/writing to/from all 64/1024 vBuckets at once (this will be an issue for native cloud integration).
cbbackupmgr currently also has a 'VBucketBackup' struct which performs the same task (read only e.g. restore source, merge source) on a per-vBucket basis.
Proposed changes:
Add a 'DataStoreReader' interface, both VBucketBackupReader and DataBackupReader will implement this reader interface. This will mean that all 6.0.x (backwards compatible) archives are read by 'DataBackupReader' whilst all new (1:1 vBucket mapping) archives will be read by 'VBucketBackupReader'.
Add a 'DataStoreWriter' interface which only 'VBucketBackupWriter' will implement. It will handle all writing of newly created backups.