DBAtlas · Atlas de operaciones de bases de datos

43: CursorNotFound (código de error 43)

MongoDB

¿Qué significa?

El cursor del lado del servidor ya no existe. Cuando el cliente solicita el siguiente lote (getMore), se devuelve el error porque no se encuentra el cursor.

¿Por qué ocurre?

El cursor agotó el tiempo (por defecto 10 minutos de inactividad), una espera demasiado larga entre lotes, un reinicio del servidor o el cursor se cerró explícitamente.

Cómo solucionarlo

Procese los resultados del cursor más rápido; no espere mucho entre lotes. Para operaciones de larga duración, use con cuidado la opción noCursorTimeout (mongosh: cursor.noCursorTimeout(); PyMongo: no_cursor_timeout=True) y cierre siempre el cursor; un cursor dentro de una sesión se cierra al expirar la sesión (localLogicalSessionTimeoutMinutes, por defecto 30 min) incluso con esta opción. Para conjuntos de resultados grandes, itere con un batchSize menor o use paginación basada en rangos. Reinicie la operación y vuelva a consultar.

Abrir en DBAtlas →

Más entradas de este motor