Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-1763

CodecConfigurationException when using Filters class with aggregation

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.11.0
    • Affects Version/s: 3.0.0
    • Component/s: BSON
    • Labels:
      None

      I use com.mongodb.client.MongoCollection.aggregate(List<? extends Bson>) with an aggregation pipeline that contains $match directives. I build some of them with the com.mongodb.client.model.Filters class. When executing the aggregation I get an exception:

      org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class com.mongodb.client.model.Filters$AndFilter.
      	at org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.configuration.ChildCodecRegistry.get(ChildCodecRegistry.java:51) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.DocumentCodec.writeValue(DocumentCodec.java:174) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.DocumentCodec.writeMap(DocumentCodec.java:189) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:131) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.DocumentCodec.encode(DocumentCodec.java:45) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:29) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonArrayCodec.encode(BsonArrayCodec.java:69) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonArrayCodec.encode(BsonArrayCodec.java:36) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.EncoderContext.encodeWithChildContext(EncoderContext.java:91) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonDocumentCodec.writeValue(BsonDocumentCodec.java:133) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonDocumentCodec.encode(BsonDocumentCodec.java:112) ~[mongo-java-driver-3.0.0.jar:na]
      	at org.bson.codecs.BsonDocumentCodec.encode(BsonDocumentCodec.java:40) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.RequestMessage.addDocument(RequestMessage.java:216) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.RequestMessage.addDocument(RequestMessage.java:168) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.CommandMessage.encodeMessageBody(CommandMessage.java:69) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.RequestMessage.encode(RequestMessage.java:132) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.CommandProtocol.sendMessage(CommandProtocol.java:119) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:84) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:155) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:219) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.connection.DefaultServerConnection.command(DefaultServerConnection.java:146) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:182) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:166) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.AggregateOperation$1.call(AggregateOperation.java:199) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.AggregateOperation$1.call(AggregateOperation.java:196) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:195) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:168) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.AggregateOperation.execute(AggregateOperation.java:196) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.operation.AggregateOperation.execute(AggregateOperation.java:62) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.Mongo.execute(Mongo.java:736) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.Mongo$2.execute(Mongo.java:723) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.OperationIterable.iterator(OperationIterable.java:47) ~[mongo-java-driver-3.0.0.jar:na]
      	at com.mongodb.AggregateIterableImpl.iterator(AggregateIterableImpl.java:92) ~[mongo-java-driver-3.0.0.jar:na]
      

        1. 0001-JAVA-1763-support-for-encoding-Bson-objects-embedded.patch
          4 kB
        2. aggregatebug.groovy
          1 kB
        3. issue1763.groovy
          0.8 kB

            Assignee:
            ross@mongodb.com Ross Lawley
            Reporter:
            jkemnade Jochen Kemnade
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: