MySQL Source creation fails. Bad handshake

I can connect to MariaDB using DBeaver
select version();
10.5.7-MariaDB

Dremio
Build 14.0.0-202103011714040666-9a0c2e10
Change Hash 9a0c2e107cc3859239bf9d0416e64a49511018c1

MySQL source creation fails with the following error:

2021-03-19 03:07:27,765 [start-sourcedb] ERROR c.d.e.s.jdbc.JdbcSchemaFetcherImpl - Connection is not valid.
java.sql.SQLNonTransientConnectionException: Bad handshake
	at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:234)
	at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:165)
	at org.mariadb.jdbc.MariaDbDataSource.getConnection(MariaDbDataSource.java:290)
	at org.mariadb.jdbc.MariaDbDataSource.getPooledConnection(MariaDbDataSource.java:455)
	at org.apache.commons.dbcp2.datasources.InstanceKeyDataSource.testCPDS(InstanceKeyDataSource.java:1018)
	at org.apache.commons.dbcp2.datasources.SharedPoolDataSource.registerPool(SharedPoolDataSource.java:167)
	at org.apache.commons.dbcp2.datasources.SharedPoolDataSource.getPooledConnectionAndInfo(SharedPoolDataSource.java:127)
	at org.apache.commons.dbcp2.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:884)
	at org.apache.commons.dbcp2.datasources.InstanceKeyDataSource.getConnection(InstanceKeyDataSource.java:858)
	at com.dremio.exec.store.jdbc.CloseableDataSource$DatasourceWrapper.getConnection(CloseableDataSource.java:87)
	at com.dremio.exec.store.jdbc.JdbcSchemaFetcherImpl.getState(JdbcSchemaFetcherImpl.java:597)
	at com.dremio.exec.store.jdbc.JdbcStoragePlugin.getState(JdbcStoragePlugin.java:335)
	at com.dremio.exec.catalog.ManagedStoragePlugin.setLocals(ManagedStoragePlugin.java:847)
	at com.dremio.exec.catalog.ManagedStoragePlugin.lambda$newStartSupplier$1(ManagedStoragePlugin.java:524)
	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)
Caused by: java.sql.SQLNonTransientConnectionException: Bad handshake
	at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:234)
	at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:165)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1199)
	at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:560)
	at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:174)
	at org.mariadb.jdbc.MariaDbDataSource.getConnection(MariaDbDataSource.java:288)
	... 16 common frames omitted
Caused by: java.sql.SQLException: Bad handshake
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authentication(AbstractConnectProtocol.java:934)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:850)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:507)
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1195)
	... 19 common frames omitted
2021-03-19 03:07:27,767 [start-sourcedb] WARN  c.d.e.catalog.ManagedStoragePlugin - Error starting new source: sourcedb
java.lang.Exception: Unavailable:
	at com.dremio.exec.catalog.ManagedStoragePlugin.lambda$newStartSupplier$1(ManagedStoragePlugin.java:529)
	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-03-19 03:07:27,768 [start-sourcedb] INFO  c.d.s.s.LocalSchedulerService - Cancelling task metadata-refresh-wakeup-sourcedb
2021-03-19 03:07:27,770 [qtp658290473-132] ERROR c.d.e.store.jdbc.JdbcStoragePlugin - JDBC source sourcedb has not been started.

@dbaa

One quick way to narrow down the issue is see if there is a connectivity issue. From the Dremio coordinator, are you able to mysql into the database?

Thx, @ balaji.ramaswamy

You mean “check connection from coordinator node” ?
So answer is “yes”.

We use dremio as dockerized application.
Inside docker container I installed mariadb-client and successfully connected to remote DB.

@dbaa

On your source MySQL settings, can you try giving IP address in the host name field?