|
Summary:
1. moveChunk range _id(374, 428] from shard1 to shard0
2. Inc upsert with _id 413 was directed to shard1
3. Assert fails because the doc was missing one increment (the query is correctly being directed to shard0)
Log excerpt:
m30001| Mon May 28 09:58:45 [conn4] command admin.$cmd command: { moveChunk: "test.foo", from: "localhost:30001", to: "localhost:30000", fromShard: "shard0001", toShard: "shard0000", min: { _id: 374.0 }, max: { _id: 428.0 }, maxChunkSizeBytes: 1048576, shardId: "test.foo-_id_374.0", configdb: "localhost:30000" } ntoreturn:1 keyUpdates:0 reslen:37 1024ms
|
m30999| Mon May 28 09:58:45 [Balancer] moveChunk result: { ok: 1.0 }
|
...
|
|
going to assert for id: 413 correct count is: 9 db says count is: {
|
"_id" : 413,
|
"s" : "asd..."
|
"x" : 8
|
}
|
|
assert failed : GLE diff myid: 413 1: {
|
"shards" : [
|
"localhost:30000",
|
"localhost:30001"
|
],
|
"shardRawGLE" : {
|
"localhost:30000" : {
|
"n" : 0,
|
"connectionId" : 12,
|
"err" : null,
|
"ok" : 1
|
},
|
"localhost:30001" : {
|
"updatedExisting" : false,
|
"n" : 1, // <------- write was directed to 30001, even though the chunk was supposed to be now on 30000
|
"connectionId" : 6,
|
"err" : null,
|
"ok" : 1
|
}
|
},
|
"n" : 1,
|
"updatedExisting" : false,
|
"err" : null,
|
"writeback" : ObjectId("4fc34c55014f31bb223a2449"),
|
"instanceIdent" : "bs-linux64con:30001",
|
"connectionId" : 3,
|
"ok" : 1,
|
"writebackGLE" : {
|
"shards" : [
|
"localhost:30000",
|
"localhost:30001"
|
],
|
"shardRawGLE" : {
|
"localhost:30000" : {
|
"n" : 0,
|
"connectionId" : 12,
|
"err" : null,
|
"ok" : 1
|
},
|
"localhost:30001" : {
|
"updatedExisting" : false,
|
"n" : 1,
|
"connectionId" : 6,
|
"err" : null,
|
"ok" : 1
|
}
|
},
|
"n" : 1,
|
"updatedExisting" : false,
|
"err" : null
|
},
|
"initialGLEHost" : "localhost:30001"
|
}
|
|