tengo 2 colecciones: A (3.8M docs) y B (1,7 millones docs)MongoDB - PHP - MongoCursorException 'Cursor no encontrado'
Tengo un script PHP que corro de la cáscara que:
- bucles sobre cada registro de una
- ~ 60% de las veces, lo hace un findOne en B (usando _id)
- hace algo de matemáticas básicas, creando una matriz PHP
una vez que el bucle en todos los documentos en una se realiza:
4) bucle sobre php array
5) upsert en colección C
durante (1), I consistentemente sale: error fatal PHP: no detectada excepción 'MongoCursorException' con el mensaje 'el cursor no se encontró' el último artículo procesado era # 8187 de 3872494.
real 1m25.478s
user 0m0.076s
sys 0m0.064s
Correr de nuevo, sin ningún cambio en el código, a excepción echaron en el artículo # 19826/3872495
real 3m19.144s
user 0m0.120s
sys 0m0.072s
Y una vez más, # 8181/387249
real 1m31.110s
user 0m0.036s
sys 0m0.048s
Sí, me doy cuenta de que puedo (y probablemente debería) detectar la excepción ... pero ... ¿Por qué es incluso ser arrojado? Especialmente a tiempos/profundidades tan diferentes en la base de datos.
Si ayuda, mi configuración es una réplica de 3 nodos (2 + arb). Tomé el secundario sin conexión y lo intenté con solo la ejecución principal. Los mismos resultados (diferente número de resultados procesados y veces, pero siempre arroja la excepción del Cursor no encontrado).
¿Esto fue finalmente un problema de tiempo de espera del cursor? Gracias – mils