Hi @RemiJ, welcome!
That seems to be quite a long time to iterate, is it possible to refactor the application code to reduce the process iteration time ? Perhaps utilise $out to a temporary collection and spawn multiple processes.
Cursor timeout is one of the possible reasons why the cursor could no longer be found. Could you ensure that the options were set correctly ? If an iteration of a cursor batch takes longer than the default cursor timeout of 10 minutes, the server deemed the cursor idle and will close it.
Could you check on logs whether there’s anything happening on the shard (i.e. replica set or config servers election) around the 65 minutes ?
Regards,
Wan.