diff options
author | Antonin Kral <a.kral@bobek.cz> | 2010-08-11 12:38:57 +0200 |
---|---|---|
committer | Antonin Kral <a.kral@bobek.cz> | 2010-08-11 12:38:57 +0200 |
commit | 7645618fd3914cb8a20561625913c20d49504a49 (patch) | |
tree | 8370f846f58f6d71165b7a0e2eda04648584ec76 /jstests/sharding/presplit.js | |
parent | 68c73c3c7608b4c87f07440dc3232801720b1168 (diff) | |
download | mongodb-7645618fd3914cb8a20561625913c20d49504a49.tar.gz |
Imported Upstream version 1.6.0
Diffstat (limited to 'jstests/sharding/presplit.js')
-rw-r--r-- | jstests/sharding/presplit.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/jstests/sharding/presplit.js b/jstests/sharding/presplit.js new file mode 100644 index 0000000..6815492 --- /dev/null +++ b/jstests/sharding/presplit.js @@ -0,0 +1,37 @@ +// presplit.js + +// Starts a new sharding environment limiting the chunksize to 1MB. +s = new ShardingTest( "presplit" , 2 , 2 , 1 , { chunksize : 1 } ); + +// Insert enough data in 'test.foo' to fill several chunks, if it was sharded. +bigString = ""; +while ( bigString.length < 10000 ){ + bigString += "asdasdasdasdadasdasdasdasdasdasdasdasda"; +} + +db = s.getDB( "test" ); +inserted = 0; +num = 0; +while ( inserted < ( 20 * 1024 * 1024 ) ){ + db.foo.insert( { _id : num++ , s : bigString } ); + inserted += bigString.length; +} +db.getLastError(); + +// Make sure that there's only one chunk holding all the data. +s.printChunks(); +primary = s.getServer( "test" ).getDB( "test" ); +assert.eq( 0 , s.config.chunks.count() , "single chunk assertion" ); +assert.eq( num , primary.foo.count() ); + +// Turn on sharding on the 'test.foo' collection +s.adminCommand( { enablesharding : "test" } ); +s.adminCommand( { shardcollection : "test.foo" , key : { _id : 1 } } ); + +// Make sure the collection's original chunk got split +s.printChunks(); +assert.lt( 20 , s.config.chunks.count() , "many chunks assertion" ); +assert.eq( num , primary.foo.count() ); + +s.printChangeLog(); +s.stop();
\ No newline at end of file |