sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cuál es el comportamiento de establecer el tiempo de espera en la ejecución de canalización de agregación en MongoDB Java Driver?

Bien, lo tengo. Si la ejecución del pipeline de agregación excede el tiempo expresado a través del método maxTime a com.mongodb.MongoExecutionTimeoutException es arrojado.

El stacktrace de la excepción es exactamente el siguiente:

com.mongodb.MongoExecutionTimeoutException: operation exceeded time limit

    at com.mongodb.connection.ProtocolHelper.createSpecialException(ProtocolHelper.java:157)
    at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:111)
    at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:114)
    at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:159)
    at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:286)
    at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:173)
    at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:215)
    at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:206)
    at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:112)
    at com.mongodb.operation.AggregateOperation$1.call(AggregateOperation.java:227)
    at com.mongodb.operation.AggregateOperation$1.call(AggregateOperation.java:223)
    at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:239)
    at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:212)
    at com.mongodb.operation.AggregateOperation.execute(AggregateOperation.java:223)
    at com.mongodb.operation.AggregateOperation.execute(AggregateOperation.java:65)
    at com.mongodb.Mongo.execute(Mongo.java:772)
    at com.mongodb.Mongo$2.execute(Mongo.java:759)

Espero que ayude.