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

Character is no longer an accepted value of a field

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Minor - P4 Minor - P4
    • 3.0.3, 3.1.0
    • Affects Version/s: 3.0.1
    • Component/s: Codecs
    • Labels:
      None

      In 2.x we could put a Character inside a field value. This is no longer the case in 3.0.

      BasicDBObject object = ...
      object.put("delimiter", '/');
      ...
      List<DBObject> objectsToInsert = new ArrayList<>();
      objectsToInsert.add(object);
      
      DBCollection collection = ...
      collection.insert(objectsToInsert, WriteConcern.ACKNOWLEDGED);
      

      Raises the following exception

      org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class java.lang.Character.
      	at org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46)
      	at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63)
      	at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:37)
      	at com.mongodb.DBObjectCodec.writeValue(DBObjectCodec.java:210)
      	at com.mongodb.DBObjectCodec.encode(DBObjectCodec.java:128)
      	at com.mongodb.DBObjectCodec.encode(DBObjectCodec.java:61)
      	at com.mongodb.CompoundDBObjectCodec.encode(CompoundDBObjectCodec.java:48)
      	at com.mongodb.CompoundDBObjectCodec.encode(CompoundDBObjectCodec.java:27)
      	at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:63)
      	at org.bson.codecs.BsonDocumentWrapperCodec.encode(BsonDocumentWrapperCodec.java:29)
      	at com.mongodb.connection.InsertCommandMessage.writeTheWrites(InsertCommandMessage.java:99)
      	at com.mongodb.connection.InsertCommandMessage.writeTheWrites(InsertCommandMessage.java:43)
      	at com.mongodb.connection.BaseWriteCommandMessage.encodeMessageBody(BaseWriteCommandMessage.java:112)
      	at com.mongodb.connection.BaseWriteCommandMessage.encodeMessageBody(BaseWriteCommandMessage.java:35)
      	at com.mongodb.connection.RequestMessage.encode(RequestMessage.java:132)
      	at com.mongodb.connection.BaseWriteCommandMessage.encode(BaseWriteCommandMessage.java:89)
      	at com.mongodb.connection.WriteCommandProtocol.sendMessage(WriteCommandProtocol.java:170)
      	at com.mongodb.connection.WriteCommandProtocol.execute(WriteCommandProtocol.java:73)
      	at com.mongodb.connection.InsertCommandProtocol.execute(InsertCommandProtocol.java:66)
      	at com.mongodb.connection.InsertCommandProtocol.execute(InsertCommandProtocol.java:37)
      	at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:155)
      	at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:219)
      	at com.mongodb.connection.DefaultServerConnection.insertCommand(DefaultServerConnection.java:108)
      	at com.mongodb.operation.InsertOperation.executeCommandProtocol(InsertOperation.java:76)
      	at com.mongodb.operation.BaseWriteOperation$1.call(BaseWriteOperation.java:111)
      	at com.mongodb.operation.BaseWriteOperation$1.call(BaseWriteOperation.java:106)
      	at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:186)
      	at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:177)
      	at com.mongodb.operation.BaseWriteOperation.execute(BaseWriteOperation.java:106)
      	at com.mongodb.operation.BaseWriteOperation.execute(BaseWriteOperation.java:58)
      	at com.mongodb.Mongo.execute(Mongo.java:745)
      	at com.mongodb.Mongo$2.execute(Mongo.java:728)
      	at com.mongodb.DBCollection.executeWriteOperation(DBCollection.java:327)
      	at com.mongodb.DBCollection.insert(DBCollection.java:323)
      	at com.mongodb.DBCollection.insert(DBCollection.java:314)
      	at com.mongodb.DBCollection.insert(DBCollection.java:284)
      	at com.mongodb.DBCollection.insert(DBCollection.java:250)
      

            Assignee:
            jeff.yemin@mongodb.com Jeffrey Yemin
            Reporter:
            emmanuelbernard Emmanuel Bernard
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: