I occasionally get an assertion error when running mongos with sharding. I've got a mini-cluster with 3 nodes running, where each node has a mongod instance and a mongos instance running. One of the machines also has an additional mongod instance running, acting as the config server. The setup is basically the same as described on the "Sample Configuration Session" wiki page (i.e. i have a "test.people" collection, which uses the "name" as the shard key). I've inserted about a million rows in the collection, resulting in 123 shard chunks.
To load test, I've set up each of the nodes to run a bunch of simple queries against their "localhost" mongos instances. The queries are of the form {name:{$gte:"foo",$lt:"bar"}}. Things work great about 90% of the time, but sometimes I get this error in the mongos logs:
Wed Sep 23 18:46:41 connection accepted from 10.244.254.3:34215 #6
Wed Sep 23 18:46:41 Request::process ns: test.people msg id:1 attempt: 0
Extra: {}
Wed Sep 23 18:46:41 Request::process ns: test.people msg id:2 attempt: 0
Wed Sep 23 18:46:41 Request::process ns: test.people msg id:3 attempt: 0
********************
ERROR: MessagingPort::call() wrong id got:2225548905 expect:2242326122
old:10922
response msgid:677081682
response len: 1061978
Wed Sep 23 18:46:41 Assertion failure false util/message.cpp 366
0x44f856 0x455f78 0x454267 0x45b7ec 0x45f116 0x45f2c5 0x4a78d3 0x4a50d3 0x48ce34 0x4a34e9 0x4ae75e 0x484bf6 0x4d2297 0x4d1e9f 0x2aaaaacd33ba 0x2aaaab778fcd
/opt/mongodb/bin/mongos [0x44f856]
/opt/mongodb/bin/mongos [0x455f78]
/opt/mongodb/bin/mongos [0x454267]
/opt/mongodb/bin/mongos [0x45b7ec]
/opt/mongodb/bin/mongos [0x45f116]
/opt/mongodb/bin/mongos [0x45f2c5]
/opt/mongodb/bin/mongos [0x4a78d3]
/opt/mongodb/bin/mongos [0x4a50d3]
/opt/mongodb/bin/mongos [0x48ce34]
/opt/mongodb/bin/mongos [0x4a34e9]
/opt/mongodb/bin/mongos [0x4ae75e]
/opt/mongodb/bin/mongos(_ZN5mongo3pms9threadRunEv+0x86) [0x484bf6]
/opt/mongodb/bin/mongos [0x4d2297]
/opt/mongodb/bin/mongos [0x4d1e9f]
/lib/libpthread.so.0 [0x2aaaaacd33ba]
/lib/libc.so.6(clone+0x6d) [0x2aaaab778fcd]
On the client side, the error shows up as:
java.lang.RuntimeException: db error []
at com.mongodb.DBApiLayer$MyCollection.find(DBApiLayer.java:407)
at com.mongodb.DBCursor._check(DBCursor.java:237)
at com.mongodb.DBCursor._hasNext(DBCursor.java:367)
at com.mongodb.DBCursor.hasNext(DBCursor.java:392)
Any ideas?