diff options
-rw-r--r-- | buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml | 1 | ||||
-rw-r--r-- | jstests/core/apitest_dbcollection.js | 1 | ||||
-rw-r--r-- | jstests/core/collection_truncate.js | 4 | ||||
-rw-r--r-- | jstests/core/dbstats.js | 2 | ||||
-rw-r--r-- | jstests/sharding/features3.js | 1 | ||||
-rw-r--r-- | jstests/sharding/stats.js | 1 | ||||
-rw-r--r-- | src/mongo/db/catalog/database_impl.cpp | 4 | ||||
-rw-r--r-- | src/mongo/db/commands/dbcommands.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/stats/storage_stats.cpp | 8 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_coll_stats_cmd.cpp | 2 | ||||
-rw-r--r-- | src/mongo/s/commands/cluster_db_stats_cmd.cpp | 6 |
11 files changed, 16 insertions, 16 deletions
diff --git a/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml b/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml index f11105ead3d..973aef02f2f 100644 --- a/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml +++ b/buildscripts/resmokeconfig/suites/sharding_last_stable_mongos_and_mixed_shards.yml @@ -41,6 +41,7 @@ selector: - jstests/sharding/upsert_sharded.js - jstests/sharding/write_transactions_during_migration.js - jstests/sharding/change_stream_show_migration_events.js + - jstests/sharding/features3.js - jstests/sharding/prepare_transaction_then_migrate.js # Enable after SERVER-40258 gets backported and available in the official 4.2 binaries. - jstests/sharding/prepared_txn_metadata_refresh.js diff --git a/jstests/core/apitest_dbcollection.js b/jstests/core/apitest_dbcollection.js index f54e3e158c0..3f348bd6963 100644 --- a/jstests/core/apitest_dbcollection.js +++ b/jstests/core/apitest_dbcollection.js @@ -161,6 +161,7 @@ assert.eq(0, db.getCollection("test_db").getIndexes().length, "24"); assert.eq(0, noCollStats.nindexes, "All properties should be 0 on nonexistant collections"); assert.eq( 0, noCollStats.totalIndexSize, "All properties should be 0 on nonexistant collections"); + assert.eq(0, noCollStats.totalSize, "All properties should be 0 on nonexistant collections"); // scale - passed to stats() as sole numerical argument or part of an options object. t.drop(); diff --git a/jstests/core/collection_truncate.js b/jstests/core/collection_truncate.js index 66b6d44db59..8a0a3f8a2ad 100644 --- a/jstests/core/collection_truncate.js +++ b/jstests/core/collection_truncate.js @@ -20,10 +20,6 @@ function assertEmpty() { assert.eq(stats.count, 0); assert.eq(stats.size, 0); - if ('numExtents' in stats) { - assert.lte(stats.numExtents, 1); - } - assert.eq(t.count(), 0); assert.eq(t.find().itcount(), 0); diff --git a/jstests/core/dbstats.js b/jstests/core/dbstats.js index 1a831e9ce42..18f395a4e9b 100644 --- a/jstests/core/dbstats.js +++ b/jstests/core/dbstats.js @@ -44,7 +44,7 @@ } assert(dbStats.hasOwnProperty("storageSize"), tojson(dbStats)); - assert(dbStats.hasOwnProperty("numExtents"), tojson(dbStats)); + assert(dbStats.hasOwnProperty("totalSize"), tojson(dbStats)); assert(dbStats.hasOwnProperty("indexSize"), tojson(dbStats)); if (isUsingPersistentStorage) { diff --git a/jstests/sharding/features3.js b/jstests/sharding/features3.js index cee22543b7e..bc1f9f3658d 100644 --- a/jstests/sharding/features3.js +++ b/jstests/sharding/features3.js @@ -48,6 +48,7 @@ assert.eq(numDocs / 2, x.shards[s.shard0.shardName].count, "count on " + s.shard0.shardName); assert.eq(numDocs / 2, x.shards[s.shard1.shardName].count, "count on " + s.shard1.shardName); assert(x.totalIndexSize > 0); + assert(x.totalSize > 0); // insert one doc into a non-sharded collection dbForTest.bar.insert({x: 1}); diff --git a/jstests/sharding/stats.js b/jstests/sharding/stats.js index 76c64c8b41f..f068269cfeb 100644 --- a/jstests/sharding/stats.js +++ b/jstests/sharding/stats.js @@ -130,6 +130,7 @@ statComp(stat_obj.size, stat_obj_scaled.size, scale); statComp(stat_obj.storageSize, stat_obj_scaled.storageSize, scale); statComp(stat_obj.totalIndexSize, stat_obj_scaled.totalIndexSize, scale); + statComp(stat_obj.totalSize, stat_obj_scaled.totalSize, scale); statComp(stat_obj.avgObjSize, stat_obj_scaled.avgObjSize, 1); /* lastExtentSize doesn't exist in mongos level collection stats */ if (!mongos) { diff --git a/src/mongo/db/catalog/database_impl.cpp b/src/mongo/db/catalog/database_impl.cpp index 08add96be59..12853dd15bc 100644 --- a/src/mongo/db/catalog/database_impl.cpp +++ b/src/mongo/db/catalog/database_impl.cpp @@ -242,7 +242,6 @@ void DatabaseImpl::getStats(OperationContext* opCtx, BSONObjBuilder* output, dou long long objects = 0; long long size = 0; long long storageSize = 0; - long long numExtents = 0; long long indexes = 0; long long indexSize = 0; @@ -259,7 +258,6 @@ void DatabaseImpl::getStats(OperationContext* opCtx, BSONObjBuilder* output, dou BSONObjBuilder temp; storageSize += collection->getRecordStore()->storageSize(opCtx, &temp); - numExtents += temp.obj()["numExtents"].numberInt(); // XXX indexes += collection->getIndexCatalog()->numIndexesTotal(opCtx); indexSize += collection->getIndexSize(opCtx); @@ -275,9 +273,9 @@ void DatabaseImpl::getStats(OperationContext* opCtx, BSONObjBuilder* output, dou output->append("avgObjSize", objects == 0 ? 0 : double(size) / double(objects)); output->appendNumber("dataSize", size / scale); output->appendNumber("storageSize", storageSize / scale); - output->appendNumber("numExtents", numExtents); output->appendNumber("indexes", indexes); output->appendNumber("indexSize", indexSize / scale); + output->appendNumber("totalSize", (storageSize + indexSize) / scale); output->appendNumber("scaleFactor", scale); if (!opCtx->getServiceContext()->getStorageEngine()->isEphemeral()) { diff --git a/src/mongo/db/commands/dbcommands.cpp b/src/mongo/db/commands/dbcommands.cpp index 6df61000eac..ba34046a899 100644 --- a/src/mongo/db/commands/dbcommands.cpp +++ b/src/mongo/db/commands/dbcommands.cpp @@ -694,7 +694,7 @@ public: result.append("avgObjSize", 0); result.appendNumber("dataSize", 0); result.appendNumber("storageSize", 0); - result.appendNumber("numExtents", 0); + result.appendNumber("totalSize", 0); result.appendNumber("indexes", 0); result.appendNumber("indexSize", 0); result.appendNumber("scaleFactor", scale); diff --git a/src/mongo/db/stats/storage_stats.cpp b/src/mongo/db/stats/storage_stats.cpp index 8b290ed2d95..63e5540fdaf 100644 --- a/src/mongo/db/stats/storage_stats.cpp +++ b/src/mongo/db/stats/storage_stats.cpp @@ -61,6 +61,7 @@ Status appendCollectionStorageStats(OperationContext* opCtx, result->appendNumber("size", 0); result->appendNumber("count", 0); result->appendNumber("storageSize", 0); + result->append("totalSize", 0); result->append("nindexes", 0); result->appendNumber("totalIndexSize", 0); result->append("indexDetails", BSONObj()); @@ -80,9 +81,9 @@ Status appendCollectionStorageStats(OperationContext* opCtx, result->append("avgObjSize", collection->averageObjectSize(opCtx)); RecordStore* recordStore = collection->getRecordStore(); - result->appendNumber( - "storageSize", - static_cast<long long>(recordStore->storageSize(opCtx, result, verbose ? 1 : 0)) / scale); + auto storageSize = + static_cast<long long>(recordStore->storageSize(opCtx, result, verbose ? 1 : 0)); + result->appendNumber("storageSize", storageSize / scale); recordStore->appendCustomStats(opCtx, result, scale); @@ -117,6 +118,7 @@ Status appendCollectionStorageStats(OperationContext* opCtx, long long indexSize = collection->getIndexSize(opCtx, &indexSizes, scale); result->appendNumber("totalIndexSize", indexSize / scale); + result->appendNumber("totalSize", (storageSize + indexSize) / scale); result->append("indexSizes", indexSizes.obj()); result->append("scaleFactor", scale); diff --git a/src/mongo/s/commands/cluster_coll_stats_cmd.cpp b/src/mongo/s/commands/cluster_coll_stats_cmd.cpp index c9afc8df754..8389409d6ba 100644 --- a/src/mongo/s/commands/cluster_coll_stats_cmd.cpp +++ b/src/mongo/s/commands/cluster_coll_stats_cmd.cpp @@ -138,7 +138,7 @@ public: result.append(e); } else if (fieldIsAnyOf( fieldName, - {"count", "size", "storageSize", "numExtents", "totalIndexSize"})) { + {"count", "size", "storageSize", "totalIndexSize", "totalSize"})) { counts[e.fieldName()] += e.numberLong(); } else if (fieldName == "avgObjSize") { const auto shardAvgObjSize = e.numberLong(); diff --git a/src/mongo/s/commands/cluster_db_stats_cmd.cpp b/src/mongo/s/commands/cluster_db_stats_cmd.cpp index 752cca26976..d7d31e5fd55 100644 --- a/src/mongo/s/commands/cluster_db_stats_cmd.cpp +++ b/src/mongo/s/commands/cluster_db_stats_cmd.cpp @@ -46,7 +46,7 @@ void aggregateResults(int scale, long long unscaledDataSize = 0; long long dataSize = 0; long long storageSize = 0; - long long numExtents = 0; + long long totalSize = 0; long long indexes = 0; long long indexSize = 0; long long fileSize = 0; @@ -59,7 +59,7 @@ void aggregateResults(int scale, unscaledDataSize += b["avgObjSize"].numberLong() * b["objects"].numberLong(); dataSize += b["dataSize"].numberLong(); storageSize += b["storageSize"].numberLong(); - numExtents += b["numExtents"].numberLong(); + totalSize += b["totalSize"].numberLong(); indexes += b["indexes"].numberLong(); indexSize += b["indexSize"].numberLong(); fileSize += b["fileSize"].numberLong(); @@ -73,7 +73,7 @@ void aggregateResults(int scale, output.append("avgObjSize", objects == 0 ? 0 : double(unscaledDataSize) / double(objects)); output.appendNumber("dataSize", dataSize); output.appendNumber("storageSize", storageSize); - output.appendNumber("numExtents", numExtents); + output.appendNumber("totalSize", totalSize); output.appendNumber("indexes", indexes); output.appendNumber("indexSize", indexSize); output.appendNumber("scaleFactor", scale); |