Details
-
Bug
-
Resolution: Fixed
-
Critical
-
7.1.0
-
Triaged
-
1
-
No
-
Tools 2022-March
Description
Reproduction
- Create a bucket
- Create a collection inside of the default scope
- Add some documents to this collection and to the default collection
- Try to use cbdatarecovery to recover from the couchstore file to a cluster
What happens
We'd expect all the documents - ie each one in each collection - to be restored. However, only those in the default collection are restore
Explanation
During the recovery we read the couchstore file to get the collection manifest. The keys that end with open are created on demand - so if you don't have a non-default scope or collection they aren't created. In the reproduction steps the collection document will exist but not the scope one, which makes the function return an error. This bubbles up to recovery where we special case it and return the default manifest.
Note that this will only happen if there is only the default scope. As soon as there is more than one scope this problem resolves itself.
Attachments
For Gerrit Dashboard: MB-51401 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
172201,4 | MB-51401 Correctly handle missing collection manifest components | neo | backup | Status: MERGED | +2 | +1 |
172447,1 | Merge branch 'neo' into master | master | backup | Status: MERGED | +2 | +1 |