-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
Affects Version/s: None
In MMAP items in a capped collection cannot grow - as per the documentation and an error is raised if they do.
> db.createCollection("cap",{capped:true,size:128000}) { "ok" : 1 } > db.cap.update({_id:1},{$set:{test:"hello",vals:["one"]}},true,true) WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : 1 }) > db.cap.update({_id:1},{$set:{test:"hello"},$push:{vals:"two"}},true,true) WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0, "writeError" : { "code" : 10003, "errmsg" : "failing update: objects in a capped ns cannot grow" } })
In WiredTiger they are allowed to grow - is this deliberate?
> db.createCollection("cap",{capped:true,size:128000}) { "ok" : 1 } > db.cap.update({_id:1},{$set:{test:"hello",vals:["one"]}},true,true) WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : 1 }) > db.cap.findOne() { "_id" : 1, "test" : "hello", "vals" : [ "one" ] } > db.cap.update({_id:1},{$set:{test:"hello"},$push:{vals:"two"}},true,true) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.cap.findOne() { "_id" : 1, "test" : "hello", "vals" : [ "one", "two" ] }
- documents
-
SERVER-20529 WiredTiger allows capped collection objects to grow
-
- Closed
-
- related to
-
SERVER-58865 Remove obsolete restriction on capped collection objects
-
- Closed
-