-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: 2.7.2
-
Component/s: Query Operations
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
I already posted it on the mailing list, it didn't receive any replies, but I still think it's a bug. Please correct me if I'm wrong.
A tailable cursor on a capped collection can live potentially for a long time and return multiple batches of data.
However, it seems to me that the size of each batch that is read from Mongo is added to the list: DBApiLayer.Result._sizes, in the DBApiLayer.Result.init method, called from the _advance method.
The list is available via DBCursor.getSizes().
If the list grows and grows, especially if there's a lot of data added to the capped collection, eventually it will OOM.
Is that right?
UPDATE:
Added DBCursor.disableBatchSizeTracking() to work around this problem.