Start a new topic
Answered

How to fix error "HikariPool-3 - Connection is not available, request timed out after 100005ms."

How to fix error "HikariPool-3 - Connection is not available, request timed out after 100005ms."





Best Answer

Before 2023.1.0, the runtime customization file called 'engineParameters.xml' defined an "enableConnectionPoolForJdbcDatabases" by default to "false".
Therefore, the default behaviour for runtime connections to  JDBC databases is NON-pooling.


Starting from 2023.1.0, there is no more "enableConnectionPoolForJdbcDatabases" parameter in the 'engineParameters.xml' runtime file (see https://www.semarchy.com/doc/semarchy-xdi/xdi/2023.1/Install/release-notes/2023.1.html#_semarchy_xdi_runtime_jdbc_connections)

The pooling behaviour is supposed to be set from metadata, and pooling is enabled by default.

As a consequence, upgrading to 2023.1, if you didn't use connection pooling in your previous version, then you may encounter connection error such as

"HikariPool-3 - Connection is not available, request timed out after 100005ms."


As pooling is a core functionnality for an ETL/ELT tool to be able to release database sessions when no more used, you shouldn't inactivate the pooling options on the metadata.


Answer

Before 2023.1.0, the runtime customization file called 'engineParameters.xml' defined an "enableConnectionPoolForJdbcDatabases" by default to "false".
Therefore, the default behaviour for runtime connections to  JDBC databases is NON-pooling.


Starting from 2023.1.0, there is no more "enableConnectionPoolForJdbcDatabases" parameter in the 'engineParameters.xml' runtime file (see https://www.semarchy.com/doc/semarchy-xdi/xdi/2023.1/Install/release-notes/2023.1.html#_semarchy_xdi_runtime_jdbc_connections)

The pooling behaviour is supposed to be set from metadata, and pooling is enabled by default.

As a consequence, upgrading to 2023.1, if you didn't use connection pooling in your previous version, then you may encounter connection error such as

"HikariPool-3 - Connection is not available, request timed out after 100005ms."


As pooling is a core functionnality for an ETL/ELT tool to be able to release database sessions when no more used, you shouldn't inactivate the pooling options on the metadata.

Hi Stéphanie,


This is a clear explanation, thank you. But could you please explain how one could solve this issue "HikariPool-3 - Connection is not available, request timed out after 100005ms." when it arises ?


Best regards,


Emmanuel Chrisment

Hi Emmanuel,


You will need to adapt the property values for your pool according to your actual needs. A description of the properties is available here: https://www.semarchy.com/doc/semarchy-xdi/xdi/2023.3/Install/configure-runtime-parameters-reference.html#_log_database_parameters and an interesting article is worth to read about connection pooling: https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing 


We are happy to help with your specific use and find what could be the best values for you inside the existing support ticket that you opened a few months back.


Best regards,

Stéphanie.

Login to post a comment