1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
s = new ShardingTest( "migrateMemory" , 2 , 1 , 1 , { chunksize : 1 });
s.config.settings.update( { _id: "balancer" }, { $set : { stopped: true } } , true );
s.adminCommand( { enablesharding : "test" } );
s.adminCommand( { shardcollection : "test.foo" , key : { _id : 1 } } );
db = s.getDB( "test" )
t = db.foo
str = ""
while ( str.length < 10000 ){
str += "asdasdsdasdasdasdas";
}
data = 0;
num = 0;
while ( data < ( 1024 * 1024 * 10 ) ){
t.insert( { _id : num++ , s : str } )
data += str.length
}
db.getLastError()
stats = s.chunkCounts( "foo" )
from = ""
to = ""
for ( x in stats ){
if ( stats[x] == 0 )
to = x
else
from = x
}
s.config.chunks.find().sort( { min : 1 } ).forEach( printjsononeline )
print( "from: " + from + " to: " + to )
printjson( stats )
ss = []
for ( var f = 0; f<num; f += ( 2 * num / t.stats().nchunks ) ){
ss.push( s.getServer( "test" ).getDB( "admin" ).serverStatus() )
print( f )
s.adminCommand( { movechunk : "test.foo" , find : { _id : f } , to : to } )
}
for ( i=0; i<ss.length; i++ )
printjson( ss[i].mem );
s.stop()
|