tjpb92/Bkgpi2a

Dépassement de capacité de traitement MongoDb

Closed this issue · 1 comments

Problème constaté le 22/12/16 :

com.mongodb.MongoQueryException: Query failed with error code 17144 and error message 'Plan executor error during find: Overflow sort stage buffered data usage of 33554647 bytes exceeds internal limit of 33554432 bytes' on server localhost:27017
        at com.mongodb.connection.ProtocolHelper.getQueryFailureException(ProtocolHelper.java:93)
        at com.mongodb.connection.QueryProtocol.receiveMessage(QueryProtocol.java:288)
        at com.mongodb.connection.QueryProtocol.execute(QueryProtocol.java:229)
        at com.mongodb.connection.QueryProtocol.execute(QueryProtocol.java:38)
        at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:155)
        at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:219)
        at com.mongodb.connection.DefaultServerConnection.query(DefaultServerConnection.java:166)
        at com.mongodb.operation.FindOperation$1.call(FindOperation.java:397)
        at com.mongodb.operation.FindOperation$1.call(FindOperation.java:394)
        at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:195)
        at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:168)
        at com.mongodb.operation.FindOperation.execute(FindOperation.java:394)
        at com.mongodb.operation.FindOperation.execute(FindOperation.java:57)
        at com.mongodb.Mongo.execute(Mongo.java:738)
        at com.mongodb.Mongo$2.execute(Mongo.java:725)
        at com.mongodb.OperationIterable.iterator(OperationIterable.java:47)
        at com.mongodb.FindIterableImpl.iterator(FindIterableImpl.java:135)
        at bkgpi2a.Bkgpi2a.syncEvents(Bkgpi2a.java:265)
        at bkgpi2a.Bkgpi2a.<init>(Bkgpi2a.java:235)
        at bkgpi2a.Bkgpi2a.main(Bkgpi2a.java:1547)

Résolu par création d'un index sur les champs aggregateUid et sentDate :
db.events.createIndex({aggregateUid:1, sentDate:1})