使用mongodb出现的程序崩溃的问题
做了两个程序,一个程序负责入库,入库后把库名,集合名,ID写到文件中,另一个程序读文件后到mongodb中查询,把得到的所有字段进行索引(自己写的索引,不是mongdb的索引,以后查索引是根据这个索引查,不适用mongodb的索引),简单说,一个程序入库,另一个程序查询,单独运行的时候没问题,当两个一块跑的时候,每次运行二三十分钟,要么入库程序死掉,要每两个程序一块死掉看两个程序的日志都是:
socket recv() timeout
SocketException:remote:
DBClientCursor::initcall() failed
查询程序反汇编看了下,崩溃在
auto_ptr<DBClientCursor> cursor;
cursor = g_mongo->query(ns,condition,0,0,NULL);
string errmsg = g_mongo->getLastError()
if(!errmsg.empty)
{
WriteLog(.......);
}
while(cursor->more())
{
BSONObj obj = cursor->next();
expalianBson(obj);
}
应该是崩溃在while这里了