diff options
| author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
|---|---|---|
| committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
| commit | 4cb8841196d0625dfa3825aa326f071cd27c7b8b (patch) | |
| tree | 1682a647d4463397c119183369ae6f750d5fdcff /jstests/sharding/shard_existing.js | |
| parent | aa03c6362cbaa767638e6eed9b031d86dd2643d1 (diff) | |
| parent | 8f0827553e09872941945a093b647a4211a9db7f (diff) | |
Update upstream source from tag 'upstream/6.0.0'master
Update to upstream version '6.0.0'
with Debian dir 5604a80ec1c96ca76f25f40d78e6ef855abec322
Diffstat (limited to 'jstests/sharding/shard_existing.js')
| -rw-r--r-- | jstests/sharding/shard_existing.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/jstests/sharding/shard_existing.js b/jstests/sharding/shard_existing.js new file mode 100644 index 00000000000..5430b5577fc --- /dev/null +++ b/jstests/sharding/shard_existing.js @@ -0,0 +1,45 @@ +/* + * @tags: [ + * requires_fcv_51, + * ] + */ + +(function() { +'use strict'; + +load("jstests/sharding/libs/find_chunks_util.js"); + +var s = new ShardingTest({name: "shard_existing", shards: 2, mongos: 1, other: {chunkSize: 1}}); +var db = s.getDB("test"); + +var stringSize = 10000; +var numDocs = 2000; + +// we want a lot of data, so lets make a string to cheat :) +var bigString = new Array(stringSize).toString(); +var docSize = Object.bsonsize({_id: numDocs, s: bigString}); +var totalSize = docSize * numDocs; +print("NumDocs: " + numDocs + " DocSize: " + docSize + " TotalSize: " + totalSize); + +var bulk = db.data.initializeUnorderedBulkOp(); +for (var i = 0; i < numDocs; i++) { + bulk.insert({_id: i, s: bigString}); +} +assert.commandWorked(bulk.execute()); + +var avgObjSize = db.data.stats().avgObjSize; +var dataSize = db.data.stats().size; +assert.lte(totalSize, dataSize); + +s.adminCommand({enablesharding: "test"}); +s.ensurePrimaryShard('test', s.shard1.shardName); +var res = s.adminCommand({shardcollection: "test.data", key: {_id: 1}}); +printjson(res); + +// number of chunks should be approx equal to the total data size / chunk size +var numChunks = findChunksUtil.findChunksByNs(s.config, 'test.data').itcount(); +var guess = Math.ceil(dataSize / (1024 * 1024 + avgObjSize)); +assert.lte(Math.abs(numChunks - guess), 2, "not right number of chunks"); + +s.stop(); +})(); |
