mongodb分片后做map/reduce出错
zql6625
2012-07-06
我的mongodb包含两个分片,在主分片的mongos上执行mapreduce,执行了一会儿就会出现下面的问题:
com.mongodb.CommandResult$CommandFailure: command failed [mapreduce]: { "serverUsed" : "/10.44.52.46:30000" , "cause" : { "assertion" : "[ime.his] shard version not ok in Client::Context: your version is too old ns: ime.his global: 4619|0 client: 4618|0" , "assertionCode" : 13388 , "errmsg" : "db assertion failure" , "ok" : 0.0} , "ok" : 0.0 , "errmsg" : "mongod mr failed: { assertion: \"[ime.his] shard version not ok in Client::Context: your version is too old ns: ime.his global: 4619|0 client: 4618|0\", assertionCode: 13388, errmsg: \"db assertion failure\", ok: 0.0 }"} com.mongodb.CommandResult.getException(CommandResult.java:88) com.mongodb.CommandResult.throwOnError(CommandResult.java:134) com.mongodb.DBCollection.mapReduce(DBCollection.java:1102) com.mongodb.DBCollection.mapReduce(DBCollection.java:1055) 有没有谁遇到过这个问题?有什么解决办法吗? |
|
同江小镇
2012-07-06
shard version not ok in Client::Context: your version is too old
? 没有sharding 后 进行过mapreduce。 |
|
zql6625
2012-07-10
这个是mongodb的一个bug,就是分片后在做m/r的过程中,分片中有数据移动,造成片上的数据版本发生变化。官方的说法是在是2.2.*中修复
|