User deletes on capped collections became possible in SERVER-63201. However, when the delete on the capped collection is performed via a collection scan, a CappedPositionLost write error is returned back to the client. There are couple issues with this behavior:
- For limit:1 deletes (aka single-delete) 1 document is actually deleted but n:0 is returned in addition to the CappedPositionLost write error.
- For limit:0 deletes (aka multi-deletes) no documents are deleted, n:0 is returned in addition to the CappedPositionLost write error. The reporting here is accurate but we should probably make it possible to clear a capped collection.
[js_test:repro_capped_user_delete] "n" : 0, [js_test:repro_capped_user_delete] "writeErrors" : [ [js_test:repro_capped_user_delete] { [js_test:repro_capped_user_delete] "index" : 0, [js_test:repro_capped_user_delete] "code" : 136, [js_test:repro_capped_user_delete] "errmsg" : "CollectionScan died due to position in capped collection being deleted. Last seen record id: RecordId(1)" [js_test:repro_capped_user_delete] } [js_test:repro_capped_user_delete] ], [js_test:repro_capped_user_delete] "ok" : 1,
- is caused by
-
SERVER-63201 Relax restriction of deletion ops in applyOps command.
- Closed
- related to
-
SERVER-82863 Add support for the new capped collection option 'allowConcurrentWrites'.
- Closed