Database connection issue: Failed to validate connection
How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!
While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.
Legacy Article
You are viewing an article from our legacy "FastTrack"
publication program, made available for informational purposes. Articles
in this program were published without a requirement for independent
editing or verification and are provided"as is" without
guarantee.
Before using any information from this article, independently verify its
suitability for your situation and project.
Issue
- We are getting some slowness when browsing through DXP and following message is showed in log:
HikariPool-1 - WARN … Failed to validate connection … Possibly consider using a shorter maxLifetime value.
Environment
- For DXP 7.3, HikariCP is configured as database connection pool.
- For DXP 7.4 onwards, HikariCP is the only supported database connection pool. Support has ended for other connection pools such as C3P0, DBCP, and Tomcat.
Resolution
- That message is related to configuration property
jdbc.default.maxLifetime
- (Copied from vendor's documentation):This property controls the maximum lifetime of a connection in the pool. An in-use connection will never be retired, only when it is closed will it then be removed. On a connection-by-connection basis, minor negative attenuation is applied to avoid mass-extinction in the pool. We strongly recommend setting this value, and it should be several seconds shorter than any database or infrastructure imposed connection time limit. A value of 0 indicates no maximum lifetime (infinite lifetime), subject of course to the
idleTimeout setting. The minimum allowed value is 30000ms (30 seconds). Default: 1800000 (30 minutes)
- It should be taken into account however that DXP defines this property as '0'.
- Thus, it might happen that database closes a connection while the connection remains in the pool, just because the connection exceeded its life time configured in database. When DXP tries to use this connection, it cannot be used because is closed.
Did this article resolve your issue ?