Details
-
Task
-
Resolution: Won't Fix
-
Major
-
3.0
-
Security Level: Public
-
None
Description
With the full eviction support, there are some difficulties in maintaining the total number of valid items per vbucket including dirty items + new items that are not persisted in couchstore. For the accurate counting, we need the following information every time the ep-engine does the batch commit:
For each item within the batch commit,
For SET, Is the item a new insertion or update in couchstore?
For DEL, Is the item a new deletion (i.e., non-existent item deletion) or existent item deletion in couchstore?
For this, we need to pass the following callback function to couchstore_savedocs API
typedef int (*couchstore_savedocs_callback_fn)(Db *db,
DocInfo *docinfo,
bool isNew,
void *ctx);
If docinfo.deleted == true && isNew == true, it means the non-existent item deletion.