diff options
Diffstat (limited to 'jstests/sharding/version2.js')
-rw-r--r-- | jstests/sharding/version2.js | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/jstests/sharding/version2.js b/jstests/sharding/version2.js index 441b190de73..0bf8c5892b5 100644 --- a/jstests/sharding/version2.js +++ b/jstests/sharding/version2.js @@ -1,17 +1,17 @@ (function() { +'use strict'; var s = new ShardingTest({ name: "version2", shards: 1 }); -s.adminCommand( { enablesharding : "alleyinsider" } ); -s.adminCommand( { shardcollection : "alleyinsider.foo" , key : { num : 1 } } ); -s.adminCommand( { shardcollection : "alleyinsider.bar" , key : { num : 1 } } ); +assert.commandWorked(s.s0.adminCommand({ enablesharding: "alleyinsider" })); +assert.commandWorked(s.s0.adminCommand({ shardcollection: "alleyinsider.foo", key: { num: 1 } })); +assert.commandWorked(s.s0.adminCommand({ shardcollection: "alleyinsider.bar", key: { num: 1 } })); -a = s._connections[0].getDB( "admin" ); +var a = s._connections[0].getDB("admin"); -// setup from one client - -assert.eq( a.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).mine.i, 0 ); -assert.eq( a.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).global.i, 0 ); +// Setup from one client +assert.eq(a.runCommand({ "getShardVersion": "alleyinsider.foo", configdb: s._configDB }).mine.i, 0); +assert.eq(a.runCommand({ "getShardVersion": "alleyinsider.foo", configdb: s._configDB }).global.i, 0); var fooEpoch = s.getDB('config').chunks.findOne({ ns: 'alleyinsider.foo' }).lastmodEpoch; assert.commandWorked( @@ -25,42 +25,41 @@ assert.commandWorked( shardHost: s.s.host, })); -printjson( s.config.chunks.findOne() ); - -assert.eq( a.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).mine.t, 1 ); -assert.eq( a.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).global.t, 1 ); +printjson(s.config.chunks.findOne()); -// from another client +assert.eq(a.runCommand({ "getShardVersion": "alleyinsider.foo", configdb: s._configDB }).mine.t, 1); +assert.eq(a.runCommand({ "getShardVersion": "alleyinsider.foo", configdb: s._configDB }).global.t, 1); -a2 = connect( s._connections[0].name + "/admin" ); +// From a different client +var a2 = connect(s._connections[0].name + "/admin"); -assert.eq( a2.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).global.t , 1 , "a2 global 1" ); -assert.eq( a2.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).mine.i , 0 , "a2 mine 1" ); +assert.eq(a2.runCommand({ "getShardVersion": "alleyinsider.foo", configdb: s._configDB }).global.t, 1, "a2 global 1"); +assert.eq(a2.runCommand({ "getShardVersion": "alleyinsider.foo", configdb: s._configDB }).mine.i, 0, "a2 mine 1"); function simpleFindOne(){ - return a2.getMongo().getDB( "alleyinsider" ).foo.findOne(); + return a2.getMongo().getDB("alleyinsider").foo.findOne(); } var barEpoch = s.getDB('config').chunks.findOne({ ns: 'alleyinsider.bar' }).lastmodEpoch; -assert.commandWorked( a2.runCommand({ setShardVersion: "alleyinsider.bar", +assert.commandWorked(a2.runCommand({ setShardVersion: "alleyinsider.bar", configdb: s._configDB, version: new Timestamp(1, 0), versionEpoch: barEpoch, shard: 'shard0000', authoritative: true }), - "setShardVersion bar temp" ); + "setShardVersion bar temp"); -assert.throws( simpleFindOne , [] , "should complain about not in sharded mode 1" ); +assert.throws(simpleFindOne, [], "should complain about not in sharded mode 1"); // the only way that setSharVersion passes is if the shard agrees with the version // the shard takes its version from config directly // TODO bump timestamps in config -// assert( a2.runCommand( { "setShardVersion" : "alleyinsider.foo" , configdb : s._configDB , version : 2 } ).ok == 1 , "setShardVersion a2-1"); +// assert(a2.runCommand({ "setShardVersion": "alleyinsider.foo", configdb: s._configDB, version: 2 }).ok == 1, "setShardVersion a2-1"); // simpleFindOne(); // now should run ok -// assert( a2.runCommand( { "setShardVersion" : "alleyinsider.foo" , configdb : s._configDB , version : 3 } ).ok == 1 , "setShardVersion a2-2"); +// assert(a2.runCommand({ "setShardVersion": "alleyinsider.foo", configdb: s._configDB, version: 3 }).ok == 1, "setShardVersion a2-2"); // simpleFindOne(); // newer version is ok |