Description
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" ] }
|
Attachments
Issue Links
- documents
-
SERVER-20529 WiredTiger allows capped collection objects to grow
-
- Closed
-
- related to
-
SERVER-58865 Remove obsolete restriction on capped collection objects
-
- Closed
-