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

2.12.0-rc0 logs JMX InstanceAlreadyExistsException at WARNING level

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: 2.12.0
    • Fix Version/s: 2.12.0
    • Component/s: Monitoring
    • Labels:
    • Environment:
      JDK 7u51 (Linux and OSX)
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Sprint 4

      Description

      When running several WAR files under one appserver, and both WAR files create one or several MongoClient instances, with 2.12.0-rc0 we start seeing

      WARNING: Unable to register MBean org.mongodb.driver:type=ConnectionPool,clusterId=3,host=localhost,port=27017
      javax.management.InstanceAlreadyExistsException: org.mongodb.driver:type=ConnectionPool,clusterId=3,host=localhost,port=27017
      	at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
      	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
      	at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
      	at com.mongodb.util.management.jmx.JMXMBeanServer.registerMBean(JMXMBeanServer.java:59)
      	at com.mongodb.JMXConnectionPoolListener.connectionPoolOpened(JMXConnectionPoolListener.java:52)
      	at com.mongodb.PooledConnectionProvider.<init>(PooledConnectionProvider.java:60)
      	at com.mongodb.DefaultClusterableServerFactory.create(DefaultClusterableServerFactory.java:50)
      	at com.mongodb.BaseCluster.createServer(BaseCluster.java:202)
      	at com.mongodb.SingleServerCluster.<init>(SingleServerCluster.java:45)
      	at com.mongodb.Clusters.create(Clusters.java:37)
      	at com.mongodb.DBTCPConnector.start(DBTCPConnector.java:75)
      	at com.mongodb.Mongo.<init>(Mongo.java:346)
      	at com.mongodb.Mongo.<init>(Mongo.java:327)
      	at com.mongodb.MongoClient.<init>(MongoClient.java:268)
      	at com.mongodb.Mongo$Holder.connect(Mongo.java:782)

      This happens for the second WAR file starting (first one works fine, even though it started several instances of MongoClient). If we load only one of the WAR files (no matter which) this does not happen.

      This is working fine if using 2.11.4 (and a few earlier versions, for sure) of the driver but broke in 2.12.0-rc0

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: