File: names.js

package info (click to toggle)
mongodb 1%3A2.4.10-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 82,464 kB
  • sloc: cpp: 740,225; ansic: 152,098; sh: 13,820; python: 11,864; makefile: 1,012; perl: 922; pascal: 617; java: 452; lisp: 222; asm: 174
file content (44 lines) | stat: -rw-r--r-- 1,814 bytes parent folder | download | duplicates (3)
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
// Test that having replica set names the same as the names of other shards works fine

var st = new ShardingTest( name = "test", shards = 0, verbose = 2, mongos = 2, other = { rs : true } )

var rsA = new ReplSetTest({ nodes : 2, name : "rsA", startPort : 28000 })
var rsB = new ReplSetTest({ nodes : 2, name : "rsB", startPort : 28010 })

rsA.startSet()
rsB.startSet()
rsA.initiate()
rsB.initiate()
rsA.getPrimary()
rsB.getPrimary()

var mongos = st.s
var config = mongos.getDB("config")
var admin = mongos.getDB("admin")

assert( admin.runCommand({ addShard : rsA.getURL(), name : rsB.name }).ok );
printjson( config.shards.find().toArray() );

assert( admin.runCommand({ addShard : rsB.getURL(), name : rsA.name }).ok );
printjson( config.shards.find().toArray() );

assert.eq(2, config.shards.count(), "Error adding a shard");
assert.eq(rsB.getURL(), config.shards.findOne({_id:rsA.name})["host"], "Wrong host for shard rsA");
assert.eq(rsA.getURL(), config.shards.findOne({_id:rsB.name})["host"], "Wrong host for shard rsB");

// Remove shard
assert( admin.runCommand( { removeshard: rsA.name } ).ok , "failed to start draining shard" );
assert( admin.runCommand( { removeshard: rsA.name } ).ok , "failed to remove shard" );

assert.eq(1, config.shards.count(), "Error removing a shard");
assert.eq(rsA.getURL(), config.shards.findOne({_id:rsB.name})["host"], "Wrong host for shard rsB 2");

// Re-add shard
assert( admin.runCommand({ addShard : rsB.getURL(), name : rsA.name }).ok );
printjson( config.shards.find().toArray() )

assert.eq(2, config.shards.count(), "Error re-adding a shard");
assert.eq(rsB.getURL(), config.shards.findOne({_id:rsA.name})["host"], "Wrong host for shard rsA 3");
assert.eq(rsA.getURL(), config.shards.findOne({_id:rsB.name})["host"], "Wrong host for shard rsB 3");

st.stop()