Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-16530

db.collection.validate({full:true}) should have mmapv1 related stats under mmapv1 to be consistent with WT

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.8.0-rc2
    • Component/s: Diagnostics, Storage
    • Labels:
    • Major Change

      db.collection.validate(

      {full:true}

      ) results have wiredtiger specific stats mentioned under "wiredTiger" in the resulted document. mmapv1 specific stats probably should follow the same format for consistency.

      stats for 2.8 WT:

      {
      	"ns" : "test.foo",
      	"nrecords" : 0,
      	"wiredTiger" : {
      		"uri" : "statistics:table:collection-2--967935493900454154",
      		"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" : 0,
      			"checkpoint size" : 0,
      			"allocations requiring file extension" : 0,
      			"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" : 4096
      		},
      		"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" : 0,
      			"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" : 0,
      			"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,
      			"in-memory page splits" : 0,
      			"overflow values cached in memory" : 0,
      			"pages read into cache" : 0,
      			"overflow pages read into cache" : 0,
      			"pages written from cache" : 0
      		},
      		"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" : 0
      		},
      		"cursor" : {
      			"create calls" : 1,
      			"insert calls" : 0,
      			"bulk-loaded cursor-insert calls" : 0,
      			"cursor-insert key and value bytes inserted" : 0,
      			"next calls" : 1,
      			"prev calls" : 1,
      			"remove calls" : 0,
      			"cursor-remove key bytes removed" : 0,
      			"reset calls" : 1,
      			"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" : 0,
      			"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" : 1
      		},
      		"transaction" : {
      			"update conflicts" : 0
      		}
      	},
      	"nIndexes" : 1,
      	"keysPerIndex" : {
      		"test.foo.$_id_" : 0
      	},
      	"valid" : true,
      	"errors" : [ ],
      	"warning" : "Some checks omitted for speed. use {full:true} option to do more thorough scan.",
      	"ok" : 1
      }
      
      
      • In 2.8 mmapv1:
      {
      	"ns" : "test.foo",
      	"datasize" : 0,
      	"nrecords" : 0,
      	"lastExtentSize" : 8192,
      	"firstExtent" : "0:6000 ns:test.foo",
      	"lastExtent" : "0:6000 ns:test.foo",
      	"extentCount" : 1,
      	"firstExtentDetails" : {
      		"loc" : "0:6000",
      		"xnext" : "null",
      		"xprev" : "null",
      		"nsdiag" : "test.foo",
      		"size" : 8192,
      		"firstRecord" : "null",
      		"lastRecord" : "null"
      	},
      	"deletedCount" : 1,
      	"deletedSize" : 8016,
      	"nIndexes" : 1,
      	"keysPerIndex" : {
      		"test.foo.$_id_" : 0
      	},
      	"valid" : true,
      	"errors" : [ ],
      	"warning" : "Some checks omitted for speed. use {full:true} option to do more thorough scan.",
      	"ok" : 1
      }
      

      For ex. extent related stats could be bundled up under "mmapv1" in the resulted document.

            Assignee:
            matt.kangas Matt Kangas
            Reporter:
            jalpa.trivedi@mongodb.com Jalpa Trivedi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: