diff options
author | Alberto Lerner <alerner@10gen.com> | 2010-07-14 13:58:14 -0400 |
---|---|---|
committer | Alberto Lerner <alerner@10gen.com> | 2010-07-14 13:58:14 -0400 |
commit | 9891a1d54596d7910d25279bd55ed413394dd263 (patch) | |
tree | 3a302173ba64fc41783796449982d0bfb0b837d3 /jstests/sharding/presplit.js | |
parent | 00d085ca50c180ce6f7545c8a4e2c6a5ea02b141 (diff) | |
download | mongo-9891a1d54596d7910d25279bd55ed413394dd263.tar.gz |
SERVER-1185 split->multi-split and testing
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 00000000000..68154923ae4 --- /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 |