[SERVER-16777] Capped collection truncation behavior across storage engines is inconsistent Created: 08/Jan/15  Updated: 15/Jan/15  Resolved: 13/Jan/15

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: 2.8.0-rc4
Fix Version/s: 2.8.0-rc5

Type: Improvement Priority: Major - P3
Reporter: Jonathan Balsano Assignee: Jonathan Balsano
Resolution: Done Votes: 0
Labels: 28qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Backwards Compatibility: Fully Compatible
Participants:

 Description   

Looking at these two lines of source in WT and MMapV1:

WT: https://github.com/mongodb/mongo/blob/r2.8.0-rc4/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp#L353
MMapV1: https://github.com/mongodb/mongo/blob/r2.8.0-rc4/src/mongo/db/storage/mmap_v1/record_store_v1_capped.cpp#L403

Note that in WT a '>' is used and in MMapV1 a '>=' is used. Given a capped collection of size 100, if we insert two documents of size 50 and then truncation occurs:

  • in MMapV1, one document will get deleted because its position would be >= 100
  • in WT no documents would be deleted because the size would not be > 100.

These two behaviors should be made the same, likely in favor of the existing MMapV1 behavior.



 Comments   
Comment by Githook User [ 10/Jan/15 ]

Author:

{u'username': u'jrbalsano', u'name': u'Jonathan Balsano', u'email': u'jonathan.balsano@10gen.com'}

Message: SERVER-16777 Capped collection truncation behavior across storage engines is inconsistent

Closes #904

Signed-off-by: Benety Goh <benety@mongodb.com>
Branch: master
https://github.com/mongodb/mongo/commit/225e5013566b23fec1f7068dc3efa72cc074c738

Generated at Thu Feb 08 03:42:14 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.