(function() { var s = new ShardingTest({ name: "auto2", shards: 2, mongos: 2 }); s.adminCommand( { enablesharding : "test" } ); s.ensurePrimaryShard('test', 'shard0001'); s.adminCommand( { shardcollection : "test.foo" , key : { num : 1 } } ); var bigString = ""; while (bigString.length < 1024 * 50) { bigString += "asocsancdnsjfnsdnfsjdhfasdfasdfasdfnsadofnsadlkfnsaldknfsad"; } var db = s.getDB("test" ); var coll = db.foo; var i = 0; for (var j = 0; j < 30; j++) { print("j:" + j + " : " + Date.timeFunc(function() { var bulk = coll.initializeUnorderedBulkOp(); for (var k = 0; k < 100; k++) { bulk.insert({ num : i, s : bigString }); i++; } assert.writeOK(bulk.execute()); })); } s.startBalancer(); assert.eq( i , j * 100 , "setup" ); // Until SERVER-9715 is fixed, the sync command must be run on a diff connection new Mongo(s.s.host).adminCommand("connpoolsync"); print("done inserting data" ); print("datasize: " + tojson( s.getServer("test" ).getDB("admin" ).runCommand( { datasize : "test.foo" } ) ) ); s.printChunks(); function doCountsGlobal(){ counta = s._connections[0].getDB("test" ).foo.count(); countb = s._connections[1].getDB("test" ).foo.count(); return counta + countb; } // Wait for the chunks to distribute assert.soon( function(){ doCountsGlobal(); print("Counts: " + counta + countb); return counta > 0 && countb > 0 }); print("checkpoint B" ) var missing = []; for ( i=0; i 30 ? 30 : x.length)); }) }); print("checkpoint G"); s.stop(); })();