I am trying to connect Dremio to AWS DocumentDB. The only thing I’ve changed on AWS is to disable TLS so I can see if I can get it working first before trying to tackle that part. It appears to connect but throws a java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double
error. The full error context is below.
I’ve also tried to connect to MongoDB Atlas without success. The only success I’ve had is connecting to a local anonymous docker mongodb server.
Here are the settings I am using.
2021-06-15 14:36:36,458 [start-dev] INFO c.d.p.m.c.MongoConnectionManager - Created connection to [address=cluster.FQDN:27017, user=dbuser].
2021-06-15 14:36:36,458 [start-dev] INFO c.d.p.m.c.MongoConnectionManager - Number of open connections 1.
2021-06-15 14:36:36,458 [start-dev] INFO c.d.p.m.c.MongoConnectionManager - MongoClientOptions:
MongoClientOptions{description='null', applicationName='null', compressors='[]', readPreference=ReadPreference{name=secondaryPreferred}, writeConcern=WriteConcern{w=null, wTimeout=null ms, fsync=null, journal=null, retryWrites=true, retryReads=true, readConcern=com.mongodb.ReadConcern@0, codecRegistry=org.bson.internal.ProvidersCodecRegistry@ff61c700, uuidRepresentation=JAVA_LEGACY, serverSelector=null, clusterListeners=[], commandListeners=[], minConnectionsPerHost=0, maxConnectionsPerHost=100, threadsAllowedToBlockForConnectionMultiplier=5, serverSelectionTimeout=2000, maxWaitTime=120000, maxConnectionIdleTime=0, maxConnectionLifeTime=0, connectTimeout=10000, socketTimeout=0, socketKeepAlive=true, sslEnabled=false, sslInvalidHostNamesAllowed=false, sslContext=null, alwaysUseMBeans=false, heartbeatFrequency=10000, minHeartbeatFrequency=500, heartbeatConnectTimeout=20000, heartbeatSocketTimeout=20000, localThreshold=15, requiredReplicaSetName='rs0', dbDecoderFactory=com.mongodb.DefaultDBDecoder$1@4f84eb72, dbEncoderFactory=com.mongodb.DefaultDBEncoder$1@55a69e9d, socketFactory=null, cursorFinalizerEnabled=true, connectionPoolSettings=ConnectionPoolSettings{maxSize=100, minSize=0, maxWaitQueueSize=500, maxWaitTimeMS=120000, maxConnectionLifeTimeMS=0, maxConnectionIdleTimeMS=0, maintenanceInitialDelayMS=0, maintenanceFrequencyMS=60000, connectionPoolListeners=[]}, socketSettings=SocketSettings{connectTimeoutMS=10000, readTimeoutMS=0, keepAlive=true, receiveBufferSize=0, sendBufferSize=0}, serverSettings=ServerSettings{heartbeatFrequencyMS=10000, minHeartbeatFrequencyMS=500, serverListeners='[]', serverMonitorListeners='[]'}, heartbeatSocketSettings=SocketSettings{connectTimeoutMS=20000, readTimeoutMS=20000, keepAlive=true, receiveBufferSize=0, sendBufferSize=0}, autoEncryptionSettings=null}
2021-06-15 14:36:36,458 [start-dev] INFO c.d.p.m.c.MongoConnectionManager - MongoCredential:MongoCredential{mechanism=null, userName='dbuser', source='admin', password=<hidden>, mechanismProperties=<hidden>}
2021-06-15 14:36:36,616 [start-dev] WARN c.d.e.catalog.ManagedStoragePlugin - Error starting new source: dev
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Double
at org.bson.Document.getDouble(Document.java:277)
at com.dremio.plugins.mongo.MongoDocumentHelper.checkResultOkay(MongoDocumentHelper.java:31)
at com.dremio.plugins.mongo.metadata.MongoCollections.fetchDatabaseAndCollectionNames(MongoCollections.java:118)
at com.dremio.plugins.mongo.connection.MongoConnection.getCollections(MongoConnection.java:37)
at com.dremio.plugins.mongo.connection.MongoConnectionManager.validateConnection(MongoConnectionManager.java:323)
at com.dremio.plugins.mongo.connection.MongoConnectionManager.connect(MongoConnectionManager.java:150)
at com.dremio.plugins.mongo.MongoStoragePlugin.start(MongoStoragePlugin.java:140)
at com.dremio.exec.catalog.ManagedStoragePlugin.lambda$newStartSupplier$1(ManagedStoragePlugin.java:523)
at com.dremio.exec.catalog.ManagedStoragePlugin.lambda$nameSupplier$3(ManagedStoragePlugin.java:591)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1604)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2021-06-15 14:36:36,616 [start-dev] INFO c.d.s.s.LocalSchedulerService - Cancelling task metadata-refresh-wakeup-dev
2021-06-15 14:36:36,626 [qtp644163395-479] INFO c.d.p.m.c.MongoConnectionManager - Created connection to [address=cluster.FQDN:27017, user=dbuser].
2021-06-15 14:36:36,626 [qtp644163395-479] INFO c.d.p.m.c.MongoConnectionManager - Number of open connections 1.
2021-06-15 14:36:36,626 [qtp644163395-479] INFO c.d.p.m.c.MongoConnectionManager - MongoClientOptions:
MongoClientOptions{description='null', applicationName='null', compressors='[]', readPreference=ReadPreference{name=secondaryPreferred}, writeConcern=WriteConcern{w=null, wTimeout=null ms, fsync=null, journal=null, retryWrites=true, retryReads=true, readConcern=com.mongodb.ReadConcern@0, codecRegistry=org.bson.internal.ProvidersCodecRegistry@ff61c700, uuidRepresentation=JAVA_LEGACY, serverSelector=null, clusterListeners=[], commandListeners=[], minConnectionsPerHost=0, maxConnectionsPerHost=100, threadsAllowedToBlockForConnectionMultiplier=5, serverSelectionTimeout=2000, maxWaitTime=120000, maxConnectionIdleTime=0, maxConnectionLifeTime=0, connectTimeout=10000, socketTimeout=0, socketKeepAlive=true, sslEnabled=false, sslInvalidHostNamesAllowed=false, sslContext=null, alwaysUseMBeans=false, heartbeatFrequency=10000, minHeartbeatFrequency=500, heartbeatConnectTimeout=20000, heartbeatSocketTimeout=20000, localThreshold=15, requiredReplicaSetName='rs0', dbDecoderFactory=com.mongodb.DefaultDBDecoder$1@4f84eb72, dbEncoderFactory=com.mongodb.DefaultDBEncoder$1@55a69e9d, socketFactory=null, cursorFinalizerEnabled=true, connectionPoolSettings=ConnectionPoolSettings{maxSize=100, minSize=0, maxWaitQueueSize=500, maxWaitTimeMS=120000, maxConnectionLifeTimeMS=0, maxConnectionIdleTimeMS=0, maintenanceInitialDelayMS=0, maintenanceFrequencyMS=60000, connectionPoolListeners=[]}, socketSettings=SocketSettings{connectTimeoutMS=10000, readTimeoutMS=0, keepAlive=true, receiveBufferSize=0, sendBufferSize=0}, serverSettings=ServerSettings{heartbeatFrequencyMS=10000, minHeartbeatFrequencyMS=500, serverListeners='[]', serverMonitorListeners='[]'}, heartbeatSocketSettings=SocketSettings{connectTimeoutMS=20000, readTimeoutMS=20000, keepAlive=true, receiveBufferSize=0, sendBufferSize=0}, autoEncryptionSettings=null}
2021-06-15 14:36:36,626 [qtp644163395-479] INFO c.d.p.m.c.MongoConnectionManager - MongoCredential:MongoCredential{mechanism=null, userName='dbuser', source='admin', password=<hidden>, mechanismProperties=<hidden>}
172.17.0.1 - - [15/Jun/2021:14:36:36 +0000] "PUT /apiv2/source/dev/?nocache=1623767796429 HTTP/1.1" 400 246 "http://0.0.0.0:9047/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15"