[SERVER-16275] MMAPv1 does not report when capped is false in colstats Created: 21/Nov/14  Updated: 15/Jan/15  Resolved: 12/Jan/15

Status: Closed
Project: Core Server
Component/s: Diagnostics, Storage
Affects Version/s: 2.6.5, 2.8.0-rc0
Fix Version/s: 2.8.0-rc5

Type: Bug Priority: Trivial - P5
Reporter: Jalpa Trivedi (Inactive) Assignee: Daniel Pasette (Inactive)
Resolution: Done Votes: 0
Labels: 28qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 Description   

Running db.coll.stats() with mmapv1 gives following result:

 db.foo.stats()
{
	"ns" : "test.foo",
	"count" : 1,
	"size" : 48,
	"avgObjSize" : 48,
	"storageSize" : 8192,
	"numExtents" : 1,
	"nindexes" : 1,
	"lastExtentSize" : 8192,
	"paddingFactor" : 1,
	"systemFlags" : 1,
	"userFlags" : 1,
	"totalIndexSize" : 8176,
	"indexSizes" : {
		"_id_" : 8176
	},
	"ok" : 1
}

  • with wiredtiger it gives:

> db.foo.stats()
{
	"ns" : "test.foo",
	"count" : 1,
	"size" : 33,
	"avgObjSize" : 33,
	"storageSize" : 16384,
	"nindexes" : 1,
	"capped" : false,
	"wiredtiger" : {
		"uri" : "statistics:table:collection-4-3616236290870497461",
		"LSM" : {
			"bloom filters in the LSM tree" : 0,
			"bloom filter false positives" : 0,
			"bloom filter hits" : 0,
			"bloom filter misses" : 0,
			"bloom filter pages evicted from cache" : 0,
			"bloom filter pages read into cache" : 0,
			"total size of bloom filters" : 0,
			"sleep for LSM checkpoint throttle" : 0,
			"chunks in the LSM tree" : 0,
			"highest merge generation in the LSM tree" : 0,
			"queries that could have benefited from a Bloom filter that did not exist" : 0,
			"sleep for LSM merge throttle" : 0
		},
		"block-manager" : {
			"file allocation unit size" : 4096,
			"blocks allocated" : 3,
			"checkpoint size" : 8192,
			"allocations requiring file extension" : 3,
			"blocks freed" : 0,
			"file magic number" : 120897,
			"file major version number" : 1,
			"minor version number" : 0,
			"file bytes available for reuse" : 0,
			"file size in bytes" : 16384
		},
		"btree" : {
			"column-store variable-size deleted values" : 0,
			"column-store fixed-size leaf pages" : 0,
			"column-store internal pages" : 0,
			"column-store variable-size leaf pages" : 0,
			"pages rewritten by compaction" : 0,
			"number of key/value pairs" : 0,
			"fixed-record size" : 0,
			"maximum tree depth" : 3,
			"maximum internal page item size" : 384,
			"maximum internal page size" : 4096,
			"maximum leaf page item size" : 3072,
			"maximum leaf page size" : 32768,
			"overflow pages" : 0,
			"row-store internal pages" : 0,
			"row-store leaf pages" : 0
		},
		"cache" : {
			"bytes read into cache" : 0,
			"bytes written from cache" : 127,
			"checkpoint blocked page eviction" : 0,
			"unmodified pages evicted" : 0,
			"modified pages evicted" : 0,
			"data source pages selected for eviction unable to be evicted" : 0,
			"hazard pointer blocked page eviction" : 0,
			"internal pages evicted" : 0,
			"overflow values cached in memory" : 0,
			"pages read into cache" : 0,
			"overflow pages read into cache" : 0,
			"pages written from cache" : 2
		},
		"compression" : {
			"raw compression call failed, no additional data available" : 0,
			"raw compression call failed, additional data available" : 0,
			"raw compression call succeeded" : 0,
			"compressed pages read" : 0,
			"compressed pages written" : 0,
			"page written failed to compress" : 0,
			"page written was too small to compress" : 2
		},
		"cursor" : {
			"create calls" : 1,
			"insert calls" : 1,
			"bulk-loaded cursor-insert calls" : 0,
			"cursor-insert key and value bytes inserted" : 34,
			"next calls" : 0,
			"prev calls" : 1,
			"remove calls" : 0,
			"cursor-remove key bytes removed" : 0,
			"reset calls" : 2,
			"search calls" : 0,
			"search near calls" : 0,
			"update calls" : 0,
			"cursor-update value bytes updated" : 0
		},
		"reconciliation" : {
			"dictionary matches" : 0,
			"internal page multi-block writes" : 0,
			"leaf page multi-block writes" : 0,
			"maximum blocks required for a page" : 0,
			"internal-page overflow keys" : 0,
			"leaf-page overflow keys" : 0,
			"overflow values written" : 0,
			"pages deleted" : 0,
			"page checksum matches" : 0,
			"page reconciliation calls" : 2,
			"page reconciliation calls for eviction" : 0,
			"leaf page key bytes discarded using prefix compression" : 0,
			"internal page key bytes discarded using suffix compression" : 0
		},
		"session" : {
			"object compaction" : 0,
			"open cursor count" : 5
		},
		"transaction" : {
			"update conflicts" : 0
		}
	},
	"totalIndexSize" : 16384,
	"indexSizes" : {
		"_id_" : 16384
	},
	"ok" : 1
}

Notice that mmapv1 version is missing "capped" from the stats result.

The likely cause is the difference in following files:

https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp (~ line 709)

https://github.com/mongodb/mongo/blob/master/src/mongo/db/storage/mmap_v1/record_store_v1_base.cpp ( ~ line 817)



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

Author:

{u'username': u'monkey101', u'name': u'Dan Pasette', u'email': u'dan@10gen.com'}

Message: SERVER-16275 fix multiVersion jstests to accommodate new field in colstats
Branch: master
https://github.com/mongodb/mongo/commit/ae7a1a999b9352948cb49dfaf80a4ad3c7eabd5d

Comment by Githook User [ 12/Jan/15 ]

Author:

{u'username': u'monkey101', u'name': u'Dan Pasette', u'email': u'dan@10gen.com'}

Message: SERVER-16275 MMAPv1 does not report when capped is false in colstats
Branch: master
https://github.com/mongodb/mongo/commit/8e2ca0cf7ea2899620ab74d3467092ab0b957078

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