I am using the mgo driver to create a tailable cursor on the oplog. For example:
oplogColl.Find(oplogStart.Query()).LogReplay().Tail(time.Second)
In 2.5.4, this cursor becomes invalid after 10 minutes. Below is information from the server log for this connection. I can get more complete server logs if necessary.
2013-12-24T12:29:53.687-0500 [initandlisten] connection accepted from 127.0.0.1:60561 #26 (5 connections now open) 2013-12-24T12:29:53.696-0500 [conn26] runQuery called local.oplog.rs { ts: { $gte: Timestamp 1387905878000|2 } } 2013-12-24T12:29:53.696-0500 [conn26] query local.oplog.rs query: { ts: { $gte: Timestamp 1387905878000|2 } } cursorid:89704825967447 ntoreturn:0 ntoskip:0 keyUpdates:0 locks(micros) r:194 nreturned:1 reslen:173 0ms 2013-12-24T12:29:53.697-0500 [conn26] getmore local.oplog.rs cursorid:89704825967447 ntoreturn:0 keyUpdates:0 locks(micros) r:21 nreturned:1 reslen:97 0ms 2013-12-24T12:29:58.713-0500 [conn26] getmore local.oplog.rs cursorid:89704825967447 ntoreturn:0 keyUpdates:0 locks(micros) r:200 nreturned:0 reslen:20 5014ms 2013-12-24T12:30:03.728-0500 [conn26] getmore local.oplog.rs cursorid:89704825967447 ntoreturn:0 keyUpdates:0 locks(micros) r:198 nreturned:0 reslen:20 5014ms ... ... ... 2013-12-24T12:39:55.500-0500 [conn26] getMore: cursorid not found local.oplog.rs 89704825967447 2013-12-24T12:39:55.501-0500 [conn26] getmore local.oplog.rs cursorid:89704825967447 ntoreturn:0 keyUpdates:0 locks(micros) r:361 nreturned:0 reslen:20 5015ms 2013-12-24T12:39:55.505-0500 [conn26] Socket recv() conn closed? 127.0.0.1:60561
This does not occur in 2.4.8
- is related to
-
SERVER-11705 tailable cursors cursor not found after 10 minutes
- Closed