Can't connect via SSH

Hello,
I also encounter the same problem with 2024.1.0… on Windows 10. I’ve checked that my private key is a multiple of 4 characters (even tested it with both Unix and Windows line-endings). My know-hosts is fine, i’ve just added the ssh server to it. And the server has only one IP.
Please note that I am using a mongo+srv connection string and the mongodb cluster has 3 nodes.
But, as previously noted, Compass is working in the same environment.
Thanks

1 Like

Hi Damien, is there any chance you can send us your log.txt? You should find it located in ‘C:\Users\YourUser\ .3T’. That would be very helpful, thanks.

1 Like

I’m on macOS Sonoma with Apple Silicon. My Studio 3T connection to a live AWS EC2 hosted MongoDB database was working fine and started failing last week with this same error. I’ve tried upgrading the version of Studio 3t and downgrading back to the version suggested above. My private key is of a length that is divisble by 4.

Any other suggestions for fixing this problem?

1 Like

Same as @Courtney_Kennedy. Mac OS 13.2.1 with studio 3T 2024.2.0

My private key looks like (the length is 1608 characters)

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAgsfk2KxuKUWH+KJd7BHiKg0rEM3dfmuIGJeUPqz4pDnG6teV8TUPlQ1RNLYB
nyw1iQPs0ixfV30XX0oeVcmFxm8yKh3kCi/q9jlfsreT/vl4i+aiHmPjFgujNxrJZCFzR7JOtURj
51MSzY1OP/TKdw0WHmGBs8VlQ0wKsGnBRPmFs7QAmUfNqxVTianFtczEc4X8yXFZbzI0rOjp+S1D

...

19ltX722dkTQYf/FmKt4pQeRN5+KAciPrD56W4vdt0ZJAoGBAKEcAor5mBvqzfuQb1IGNpVH1RyC
8mBwNVOHf0R7oAzO+qTqQWXGBcUaA3vLob2B+ztcReDXAVaDtWcqAxb8MVFsrQ5H2dONplj038bD
aphjaEpAtOsYTLA28RgSbSfUMwKar97ZaLSKNYAxWfPQFKAUwADMKYR8UCS53OihTcfK
-----END RSA PRIVATE KEY-----

@andrew I can share my log file (I clean the log file and try connect just once)

2024-03-18T22:44:49+0800 [3T::Connection Manager Thread] t3.utils.ak.n_tr.D()
ERROR: unexpected error: java.lang.IllegalArgumentException: Illegal base64 character 2e
	at java.base/java.util.Base64$Decoder.decode0(Base64.java:848)
	at java.base/java.util.Base64$Decoder.decode(Base64.java:566)
	at java.base/java.util.Base64$Decoder.decode(Base64.java:589)
	at net.schmizz.sshj.transport.verification.OpenSSHKnownHosts$EntryFactory.parseEntry(OpenSSHKnownHosts.java:292)
	at net.schmizz.sshj.transport.verification.OpenSSHKnownHosts.readEntries(OpenSSHKnownHosts.java:96)
	at net.schmizz.sshj.transport.verification.OpenSSHKnownHosts.<init>(OpenSSHKnownHosts.java:77)
	at net.schmizz.sshj.SSHClient.loadKnownHosts(SSHClient.java:661)
	at net.schmizz.sshj.SSHClient.loadKnownHosts(SSHClient.java:641)
	at t3.utils.ak.n_tr.a(Session.java:538)
	at t3.utils.ak.n_tr.D(Session.java:605)
	at t3.utils.ak.n_tr.F(Session.java:754)
	at t3.utils.connman.f.n_tr.a(MongoDBConnector.java:833)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at t3.utils.connman.f.n_tr.d(MongoDBConnector.java:841)
	at t3.utils.connman.f.n_tr.e(MongoDBConnector.java:524)
	at t3.utils.connman.f.n_tr.f(MongoDBConnector.java:1212)
	at t3.utils.connman.NgLw.c(ConnectionManager.java:1438)
	at t3.utils.connman.NgLw.b(ConnectionManager.java:1355)
	at t3.utils.connman.NgLw.d(ConnectionManager.java:406)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
2024-03-18T22:44:49+0800 [3T::Connection Manager Thread] t3.utils.connman.f.n_tr.a()
WARNING: failed to open tunnel to stage-mongo-2.no8.priv:127017: t3.utils.ak.eo$0: unexpected error: Illegal base64 character 2e
	at t3.utils.ak.n_tr.D(Session.java:691)
	at t3.utils.ak.n_tr.F(Session.java:754)
	at t3.utils.connman.f.n_tr.a(MongoDBConnector.java:833)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
	at t3.utils.connman.f.n_tr.d(MongoDBConnector.java:841)
	at t3.utils.connman.f.n_tr.e(MongoDBConnector.java:524)
	at t3.utils.connman.f.n_tr.f(MongoDBConnector.java:1212)
	at t3.utils.connman.NgLw.c(ConnectionManager.java:1438)
	at t3.utils.connman.NgLw.b(ConnectionManager.java:1355)
	at t3.utils.connman.NgLw.d(ConnectionManager.java:406)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.IllegalArgumentException: Illegal base64 character 2e
	at java.base/java.util.Base64$Decoder.decode0(Base64.java:848)
	at java.base/java.util.Base64$Decoder.decode(Base64.java:566)
	at java.base/java.util.Base64$Decoder.decode(Base64.java:589)
	at net.schmizz.sshj.transport.verification.OpenSSHKnownHosts$EntryFactory.parseEntry(OpenSSHKnownHosts.java:292)
	at net.schmizz.sshj.transport.verification.OpenSSHKnownHosts.readEntries(OpenSSHKnownHosts.java:96)
	at net.schmizz.sshj.transport.verification.OpenSSHKnownHosts.<init>(OpenSSHKnownHosts.java:77)
	at net.schmizz.sshj.SSHClient.loadKnownHosts(SSHClient.java:661)
	at net.schmizz.sshj.SSHClient.loadKnownHosts(SSHClient.java:641)
	at t3.utils.ak.n_tr.a(Session.java:538)
	at t3.utils.ak.n_tr.D(Session.java:605)
	at t3.utils.ak.n_tr.F(Session.java:754)
	at t3.utils.connman.f.n_tr.a(MongoDBConnector.java:833)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	...
2024-03-18T22:44:49+0800 [main] t3.utils.connman.S4cy.a()
ERROR: Update is ProgressUpdate: Configuring SSH tunnel via bastion.no8.io:22 SSH Tunnel error: SSH tunnel could not be created to ANY server: t3.utils.connman.jvTP: SSH Tunnel error: SSH tunnel could not be created to ANY server
	at t3.utils.connman.f.n_tr.e(MongoDBConnector.java:664)
	at t3.utils.connman.f.n_tr.f(MongoDBConnector.java:1212)
	at t3.utils.connman.NgLw.c(ConnectionManager.java:1438)
	at t3.utils.connman.NgLw.b(ConnectionManager.java:1355)
	at t3.utils.connman.NgLw.d(ConnectionManager.java:406)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: t3.utils.ak.eo$0: SSH tunnel could not be created to ANY server
	at t3.utils.connman.f.n_tr.e(MongoDBConnector.java:541)
	at t3.utils.connman.f.n_tr.f(MongoDBConnector.java:1212)
	at t3.utils.connman.NgLw.c(ConnectionManager.java:1438)
	at t3.utils.connman.NgLw.b(ConnectionManager.java:1355)
	at t3.utils.connman.NgLw.d(ConnectionManager.java:406)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
1 Like

@Patrick_Shih @Courtney_Kennedy The private key is fine, the real issue is the known_hosts file. Please rename or move the known_hosts file and try again and let us know if you continue to experience this.

1 Like

@andrew - removing the hosts file ( I’m on macOS ) file did not work for me. Not sure if there is some other file I should be looking at. My log file does show an error around unknown hosts. Is there another file I need to remove or rename?

Here’s the log entries from my latest attempt:
2024-03-19T10:01:25-0400 [3T::Connection Manager Thread] t3.utils.ak.n_tr.a()
WARNING: Failed to load known_hosts file: java.io.IOException: Could not load known_hosts
at net.schmizz.sshj.SSHClient.loadKnownHosts(SSHClient.java:649)
at t3.utils.ak.n_tr.a(Session.java:538)
at t3.utils.ak.n_tr.D(Session.java:605)
at t3.utils.ak.n_tr.F(Session.java:754)
at t3.utils.connman.f.n_tr.a(MongoDBConnector.java:833)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at t3.utils.connman.f.n_tr.d(MongoDBConnector.java:841)
at t3.utils.connman.f.n_tr.e(MongoDBConnector.java:524)
at t3.utils.connman.f.n_tr.f(MongoDBConnector.java:1212)
at t3.utils.connman.NgLw.c(ConnectionManager.java:1438)
at t3.utils.connman.NgLw.b(ConnectionManager.java:1355)
at t3.utils.connman.NgLw.d(ConnectionManager.java:406)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
2024-03-19T10:01:25-0400 [3T::Connection Manager Thread] t3.utils.connman.f.n_tr.a()
WARNING: failed to open tunnel to docdb-2022-09-20-21-37-09.cluster-cm5amvfgbkjd.us-east-1.docdb.amazonaws.com:127017: t3.utils.ak.eo$0: transport error: null
at t3.utils.ak.n_tr.D(Session.java:672)
at t3.utils.ak.n_tr.F(Session.java:754)
at t3.utils.connman.f.n_tr.a(MongoDBConnector.java:833)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682)
at t3.utils.connman.f.n_tr.d(MongoDBConnector.java:841)
at t3.utils.connman.f.n_tr.e(MongoDBConnector.java:524)
at t3.utils.connman.f.n_tr.f(MongoDBConnector.java:1212)
at t3.utils.connman.NgLw.c(ConnectionManager.java:1438)
at t3.utils.connman.NgLw.b(ConnectionManager.java:1355)
at t3.utils.connman.NgLw.d(ConnectionManager.java:406)
at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: net.schmizz.sshj.transport.TransportException
at net.schmizz.sshj.transport.TransportException$1.chain(TransportException.java:33)
at net.schmizz.sshj.transport.TransportException$1.chain(TransportException.java:27)
at net.schmizz.concurrent.Promise.tryRetrieve(Promise.java:180)
at net.schmizz.concurrent.Promise.retrieve(Promise.java:137)
at net.schmizz.concurrent.Event.await(Event.java:105)
at net.schmizz.sshj.transport.KeyExchanger.waitForDone(KeyExchanger.java:160)
at net.schmizz.sshj.transport.KeyExchanger.startKex(KeyExchanger.java:148)
at net.schmizz.sshj.transport.TransportImpl.doKex(TransportImpl.java:254)
at net.schmizz.sshj.SSHClient.doKex(SSHClient.java:824)
at net.schmizz.sshj.SSHClient.onConnect(SSHClient.java:812)
at net.schmizz.sshj.SocketClient.connect(SocketClient.java:69)
at t3.utils.ak.n_tr.a(Session.java:552)
at t3.utils.ak.n_tr.D(Session.java:605)
at t3.utils.ak.n_tr.F(Session.java:754)
at t3.utils.connman.f.n_tr.a(MongoDBConnector.java:833)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)

I could not find a known_hosts file in any of the typical places on my mac.

When this error happens, Studio 3T does not recover from it. I have to Force Quit the app. I get stuck with the error dialog in the attached picture.

Thanks for the information. We’re going to be putting together a custom build that ignores the known_hosts file, so if you’re willing to test that, please let us know and I can link it here when it’s ready.

1 Like

Hi @andrew

By rename the known_hosts file it now WORKS for me. I see a warning in the log as below for your reference.

2024-03-21T13:16:28+0800 [3T::Connection Manager Thread] t3.utils.ak.n_tr.a()
WARNING: HOST_KEY_NOT_VERIFIABLE: trusting fingerprint f0:48:ed:90:60:d5:b5:d4:7b:fd:10:96:03:52:8b:b6: net.schmizz.sshj.transport.TransportException: Could not verify `ssh-ed25519` host key with fingerprint `f0:48:ed:90:60:d5:b5:d4:7b:fd:10:96:03:52:8b:b6` for `bastion.sample.io` on port 22
	at net.schmizz.sshj.transport.KeyExchanger.verifyHost(KeyExchanger.java:232)
	at net.schmizz.sshj.transport.KeyExchanger.handle(KeyExchanger.java:401)
	at net.schmizz.sshj.transport.TransportImpl.handle(TransportImpl.java:485)
	at net.schmizz.sshj.transport.Decoder.decode(Decoder.java:113)
	at net.schmizz.sshj.transport.Decoder.received(Decoder.java:200)
	at net.schmizz.sshj.transport.Reader.run(Reader.java:60)
2024-03-21T13:16:30+0800 [3T::Connection Manager Thread] t3.utils.connman.qKEh.d()
WARNING: consider using isEffectiveVersionOrLater for comparing version against 3.4 or above

However, when rename the known_hosts back it fails again. I still need the known_hosts to connect to the server via ssh. So I am looking forward to your new build.

@Patrick_Shih @Courtney_Kennedy @Damien_DANNEELS @Bastiaan_Deknudt We have the new custom build ready. For those of you who wish to try it out, please use one of the relevant links below:

Windows - http://download.studio3t.com/custom/2024.2.9799/windows/studio-3t-x64.zip

Mac (Intel) - https://download.studio3t.com/custom/2024.2.9799/mac-amd64/Studio-3T.dmg

Mac (ARM) - https://download.studio3t.com/custom/2024.2.9799/mac-aarch64/Studio-3T.dmg

This build ignores the known_hosts file. Let us know how it goes!

2 Likes

this is still an issue, and the custom build doesnt work. The connection just times out.

Details:
Timed out after 30000 ms while waiting for a server that matches com.mongodb.client.internal.MongoClientDelegate$1@121fb138. Client view of cluster state is {type=REPLICA_SET, servers=[{address=REDACTED.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=REDACTED.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=REDACTED.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}]: t3.utils.connman.BPB_: Connection failed.

SERVER [REDACTED.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

SERVER [REDACTED.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

SERVER [REDACTED.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

Everything works fine in mongodbCompass with the same settings

Hi Matt, welcome to the community. Thank you for trying the custom build and reporting back. Since the issue persists, it might be worth checking if there are any differences in SSH configurations between Studio 3T and Compass, such as the authentication method or tunnel settings. Any screenshots you can include would be very helpful.

hi Andrew, Im still fighting with this one to no avail. Error message attached below.

settings are the same between compass and studio3t. I can connect fine to the cluster if I dont use the ssh tunnel.

here is the log file:

WARNING: Open forwarders still exist, session SSH Session[/xx.xxx.xxx.xx:2122] -> [xxxx-xxxxx-00-02-pri.mcief.mongodb.net:27017, xxxx-xxxxx-00-00-pri.mcief.mongodb.net:27017, xxxx-xxxxx-shard-00-02.mcief.mongodb.net:27017, xxxx-xxxxx-00-01-pri.mcief.mongodb.net:27017, xxxx-xxxxx-shard-00-01.mcief.mongodb.net:27017, xxxx-xxxxx-shard-00-00.mcief.mongodb.net:27017] will remain open
2024-10-04T09:12:42+0100 [main] t3.utils.connman.T48I.a()
ERROR: Update is ProgressUpdate: Connecting to server Connection failed.

SERVER [xxxx-xxxxx-shard-00-01.mcief.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

SERVER [xxxx-xxxxx-shard-00-02.mcief.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

SERVER [xxxx-xxxxx-shard-00-00.mcief.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

Details:
Timed out after 30000 ms while waiting for a server that matches com.mongodb.client.internal.MongoClientDelegate$1@52ba8c64. Client view of cluster state is {type=REPLICA_SET, servers=[{address=xxxx-xxxxx-shard-00-01.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=xxxx-xxxxx-shard-00-02.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=xxxx-xxxxx-shard-00-00.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}]: t3.utils.connman.BPB_: Connection failed.

SERVER [xxxx-xxxxx-shard-00-01.mcief.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

SERVER [xxxx-xxxxx-shard-00-02.mcief.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

SERVER [xxxx-xxxxx-shard-00-00.mcief.mongodb.net:27017] (Type: UNKNOWN) 
|_/ Connection error (MongoSocketWriteException): Exception sending message
|____/ I/O error: Read timed out

Details:
Timed out after 30000 ms while waiting for a server that matches com.mongodb.client.internal.MongoClientDelegate$1@52ba8c64. Client view of cluster state is {type=REPLICA_SET, servers=[{address=xxxx-xxxxx-shard-00-01.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=xxxx-xxxxx-shard-00-02.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=xxxx-xxxxx-shard-00-00.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}]
	at t3.utils.connman.f.mrxV.e(MongoDBConnector.java:675)
	at t3.utils.connman.f.mrxV.f(MongoDBConnector.java:1236)
	at t3.utils.connman.$bYT.c(ConnectionManager.java:1438)
	at t3.utils.connman.$bYT.b(ConnectionManager.java:1355)
	at t3.utils.connman.$bYT.d(ConnectionManager.java:406)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches com.mongodb.client.internal.MongoClientDelegate$1@52ba8c64. Client view of cluster state is {type=REPLICA_SET, servers=[{address=xxxx-xxxxx-shard-00-01.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=xxxx-xxxxx-shard-00-02.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}, {address=xxxx-xxxxx-shard-00-00.mcief.mongodb.net:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketWriteException: Exception sending message}, caused by {java.net.SocketTimeoutException: Read timed out}}]
	at com.mongodb.internal.connection.BaseCluster.createTimeoutException(BaseCluster.java:425)
	at com.mongodb.internal.connection.BaseCluster.selectServer(BaseCluster.java:122)
	at com.mongodb.internal.connection.AbstractMultiServerCluster.selectServer(AbstractMultiServerCluster.java:50)
	at com.mongodb.client.internal.MongoClientDelegate.getConnectedClusterDescription(MongoClientDelegate.java:146)
	at com.mongodb.client.internal.MongoClientDelegate.createClientSession(MongoClientDelegate.java:101)
	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.getClientSession(MongoClientDelegate.java:291)
	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:183)
	at com.mongodb.client.internal.MongoDatabaseImpl.executeCommand(MongoDatabaseImpl.java:202)
	at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:171)
	at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:166)
	at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:156)
	at t3.utils.connman.f.mrxV.a(MongoDBConnector.java:942)
	at t3.utils.connman.f.mrxV.e(MongoDBConnector.java:584)
	at t3.utils.connman.f.mrxV.f(MongoDBConnector.java:1236)
	at t3.utils.connman.$bYT.c(ConnectionManager.java:1438)
	at t3.utils.connman.$bYT.b(ConnectionManager.java:1355)
	at t3.utils.connman.$bYT.d(ConnectionManager.java:406)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:131)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:74)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:82)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:840)