Details
-
Task
-
Resolution: Fixed
-
Critical
-
3.0
-
Security Level: Public
-
None
-
June 30 - July 18
Description
If compaction failed in the middle it's possible that some older revisions of vbuckets will be on disk. E.g. 0.couch.1 and 0.couch.2. As well as 0.couch.1.compact.
Couchdb has the code that opens latest revision and deletes unfinished .compact files as well as old vbucket revisions.
Before we will be able to kill mccouch we will need to duplicate this logic somewhere in ep-engine.
Corresponding couchdb code is here: https://github.com/couchbase/couchdb/blob/44734ef03daa158c0ebcac842b9e1f228e943054/src/couchdb/couch_db.erl#L83 and here: https://github.com/couchbase/couchdb/blob/44734ef03daa158c0ebcac842b9e1f228e943054/src/couchdb/couch_db_updater.erl#L45