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

Mongo Java Driver 5.2 Incompatible with Wire Version 6 (Mongo 3.6)

    • Type: Icon: Bug Bug
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 5.2.0
    • Component/s: None
    • None
    • None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      color: Color value is invalid

      Hello,

      In ServerDescription.java, MIN_DRIVER_WIRE_VERSION is set to 7 and MIN_DRIVER_SERVER_VERSION is set to "3.6". 

      However, according to this wireversion-featurelist.md, Server version 3.6 actually corresponds to Wire version 6. 

      On Mongo's official docs, the compatibility matrix also states that MongoDB 3.6 is actually supported by Java Driver Version 5.2. 

      Was this an unintended bug? If so please make the set the MIN_DRIVER_WIRE_VERSION to 6. 

      Please provide the version of the driver. If applicable, please provide the MongoDB server version and topology (standalone, replica set, or sharded cluster).

      I'm simply running a mongo docker container with version 3.6 `mongo-3.6-xenial:ubuntu`. When trying to run my logic with driver 5.2, I encounter the following exception:

      INFO: Docker container destroyed in 12 secs: bp_3da81d53-eb17-497a-ad45-e9e1f6d7a1c0(us-docker.pkg.dev/build-286712/non-prod-docker-us/mongo-3.6-xenial:ubuntu)
        Blueprint: DockerBlueprint<autsxpwwgwsoilto:us-docker.pkg.dev/build-286712/non-prod-docker-us/mongo-3.6-xenial>
        Instance:  MongoInstance<autsxpwwgwsoilto:TCPPorts={27024=27024, 27025=27025, 27018=27018, 27019=27019, 27020=27020, 27021=27021, 27022=27022, 27023=27023}, Container=8880c8246fb3ccb6a28ba84dd7fd2106783554d3c14e9aa6cf40c85aeb5d62bd, Image=us-docker.pkg.dev/build-286712/non-prod-docker-us/mongo-3.6-xenial:ubuntu>
      Failures: 1
      1) MongoOplogPackedModeE2ESpec (com.fivetran.integrations.mongo.e2e.mongo.MongoOplogPackedModeE2ESpec)
      com.fivetran.metal.shared.MetalCreateError: Failed to create docker container
        Error: Server at localhost:27019 reports wire version 6, but this version of the driver requires at least 7 (MongoDB 3.6).
        Blueprint: DockerBlueprint<autsxpwwgwsoilto:us-docker.pkg.dev/build-286712/non-prod-docker-us/mongo-3.6-xenial>
        Instance:  MongoInstance<autsxpwwgwsoilto:TCPPorts={27024=27024, 27025=27025, 27018=27018, 27019=27019, 27020=27020, 27021=27021, 27022=27022, 27023=27023}, Container=8880c8246fb3ccb6a28ba84dd7fd2106783554d3c14e9aa6cf40c85aeb5d62bd, Image=us-docker.pkg.dev/build-286712/non-prod-docker-us/mongo-3.6-xenial:ubuntu>
        at com.fivetran.metal.impl.docker.DockerBlueprint.create(DockerBlueprint.java:109)
        at com.fivetran.integrations.mongo.e2e.mongo.MongoE2ESpecBase.initSpec(MongoE2ESpecBase.java:87)
        at com.fivetran.integrations.mongo.e2e.mongo.MongoOplogPackedModeE2ESpec.beforeClass(MongoOplogPackedModeE2ESpec.java:18)
      Caused by: com.mongodb.MongoIncompatibleDriverException: Server at localhost:27019 reports wire version 6, but this version of the driver requires at least 7 (MongoDB 3.6).
        at com.mongodb.internal.connection.BaseCluster.createIncompatibleException(BaseCluster.java:415)
        at com.mongodb.internal.connection.BaseCluster.logAndThrowIncompatibleException(BaseCluster.java:394)
        at com.mongodb.internal.connection.BaseCluster.selectServer(BaseCluster.java:140)
        at com.mongodb.internal.connection.SingleServerCluster.selectServer(SingleServerCluster.java:47)
        at com.mongodb.internal.binding.ClusterBinding.getWriteConnectionSource(ClusterBinding.java:100)
        at com.mongodb.client.internal.ClientSessionBinding.getConnectionSource(ClientSessionBinding.java:108)
        at com.mongodb.client.internal.ClientSessionBinding.getWriteConnectionSource(ClientSessionBinding.java:98)
        at com.mongodb.internal.operation.SyncOperationHelper.withConnection(SyncOperationHelper.java:110)
        at com.mongodb.internal.operation.CreateCollectionOperation.execute(CreateCollectionOperation.java:236)
        at com.mongodb.internal.operation.CreateCollectionOperation.execute(CreateCollectionOperation.java:69)
        at com.mongodb.client.internal.MongoClusterImpl$OperationExecutorImpl.execute(MongoClusterImpl.java:379)
        at com.mongodb.client.internal.MongoDatabaseImpl.executeCreateCollection(MongoDatabaseImpl.java:300)
        at com.mongodb.client.internal.MongoDatabaseImpl.createCollection(MongoDatabaseImpl.java:283)
        at com.mongodb.client.internal.MongoDatabaseImpl.createCollection(MongoDatabaseImpl.java:278)
        at com.fivetran.db_e2e.docker.mongo.MongoBlueprint.lambda$isReady$0(MongoBlueprint.java:29)
        at com.fivetran.metal.impl.docker.DockerBlueprint.doHealthCheck(DockerBlueprint.java:172)
        at com.fivetran.metal.impl.docker.DockerBlueprint.createInstance(DockerBlueprint.java:164)
        at com.fivetran.metal.impl.docker.DockerBlueprint.create(DockerBlueprint.java:99)
        at com.fivetran.integrations.mongo.e2e.mongo.MongoE2ESpecBase.initSpec(MongoE2ESpecBase.java:87)
        at com.fivetran.integrations.mongo.e2e.mongo.MongoOplogPackedModeE2ESpec.beforeClass(MongoOplogPackedModeE2ESpec.java:18) 

      How to Reproduce

      Try running an application using Driver 5.2 on Mongo version 3.6, it will not work. 

      Additional Background

      Please provide any additional background information that may be helpful in diagnosing the bug.

            Assignee:
            alex.bevilacqua@mongodb.com Alex Bevilacqua
            Reporter:
            developers@fivetran.com George Fivetran
            None
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: