DBAtlas · Atlas de operações de banco de dados

43: CursorNotFound (error code 43)

MongoDB

O que significa?

O cursor do lado do servidor não existe mais. Quando o cliente solicita o próximo lote (getMore), o erro é retornado porque o cursor não é encontrado.

Por que acontece?

O cursor expirou (padrão de 10 minutos de inatividade), espera longa demais entre lotes, reinicialização do servidor, ou o cursor foi fechado explicitamente.

Como resolver

Processe os resultados do cursor mais rapidamente; não espere muito entre os lotes. Para operações de longa duração, use a opção noCursorTimeout com cuidado (mongosh: cursor.noCursorTimeout(); PyMongo: no_cursor_timeout=True) e sempre feche o cursor; um cursor dentro de uma sessão é fechado no timeout da sessão (localLogicalSessionTimeoutMinutes, padrão 30 min) mesmo com essa opção. Para grandes conjuntos de resultados, itere com um batchSize menor ou use paginação baseada em intervalo. Reinicie a operação e consulte novamente.

Abrir no DBAtlas →

Mais entradas deste banco