[CONJ-646] NullPointerException when connection lost to database Created: 2018-09-13  Updated: 2019-02-08  Resolved: 2019-01-18

Status: Closed
Project: MariaDB Connector/J
Component/s: Failover
Affects Version/s: 2.3.0, 2.2.6
Fix Version/s: 1.8.0, 2.4.0

Type: Bug Priority: Critical
Reporter: Alessio Pollero Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: None
Environment:

Debian 9 and Mac OS X 10.13.6


Attachments: Text File logerrorhikari.txt    

 Description   

When a connection is lost to the database (MySQL Server) and the driver is used with aurora capabilities a NullPointerException is thrown and a connection can't be established anymore, without restarting the app...

Connection URL: jdbc:mariadb:aurora://192.168.1.2:3307/mysaas?characterEncoding=UTF-8&useOldAliasMetadataBehavior=true

The stacktrace is :

DEBUG HikariPool:487 - mysaas_main_datasource - Cannot acquire connection from data source
java.lang.NullPointerException
	at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.setHostAddress(AbstractConnectProtocol.java:1235)
	at org.mariadb.jdbc.internal.protocol.AuroraProtocol.loop(AuroraProtocol.java:166)
	at org.mariadb.jdbc.internal.failover.impl.AuroraListener.reconnectFailedConnection(AuroraListener.java:206)
	at org.mariadb.jdbc.internal.failover.impl.MastersSlavesListener.initializeConnection(MastersSlavesListener.java:170)
	at org.mariadb.jdbc.internal.failover.FailoverProxy.<init>(FailoverProxy.java:115)
	at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:542)
	at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:174)
	at org.mariadb.jdbc.MariaDbDataSource.getConnection(MariaDbDataSource.java:288)
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369)
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:198)
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:467)
	at com.zaxxer.hikari.pool.HikariPool.access$100(HikariPool.java:71)
	at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:706)
	at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:692)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:844)

Attached a log of the error.



 Comments   
Comment by Diego Dupin [ 2019-01-17 ]

Could you indicate server version ?
Reading code, I failed to see any issue possibility, but if MySQL server version before 5.6.

Btw, why using aurora configuration for a standard mysql server ?

Comment by Alessio Pollero [ 2019-01-17 ]

MySQL version 5.7... I was using it configured as Aurora, since we wanted to keep the same url scheme as in the production env...

Comment by Diego Dupin [ 2019-01-17 ]

hmm, ok, I'll continue investigations then.

Comment by Diego Dupin [ 2019-01-18 ]

Finally found the issue, and reproduced.
This will be corrected in 2.4.0

Generated at Thu Feb 08 03:17:17 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.