Understanding Connection Pool Logs In Ambience/Repertoire 202x: Configured Names vs. HikariCP Runtime Identifiers

Overview

This entry provides a clear explanation of how Ambience/Repertoire 202x and HikariCP records connection pool activity in the logs.


Building Configured Pool

  • During startup, the server reads the pool definition from application.conf.
  • It then logs Building <pool name> to indicate that it is attempting to create the JDBC connection pool for that configuration.
  • This message ties directly to the pool name you configured (e.g., SportsCar) and is the primary reference for troubleshooting.

Example:

Building SportsCar

This confirms the server is working on the pool named SportsCar.


HikariPool Initialization

  • Once the server begins building a pool, HikariCP assigns a sequential runtime identifier such as HikariPool-1, HikariPool-2, etc.
  • This identifier is only an internal sequential runtime identifier used by HikariCP to distinguish one pool instance from another.
  • These identifiers are generated in the order pools are initialized at runtime.
  • The identifier appears in log entries that track the pool’s initialization stages, such as starting, adding connections, and completing startup.
  • It is important to note that this label is temporary and internal, it does not represent a permanent datasource name or priority.

Example Log Sequence:

INFO  ambience.etl.jdbc.ConnectionPool - Building SportsCar
INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
INFO  com.zaxxer.hikari.pool.HikariPool - HikariPool-1 - Added connection ConnectionID:1 ClientConnectionId: 5ad050a6-2a23-4be7-be6f-9c2d4a0d3619
INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.

Here, SportsCar is the configured pool name, while HikariPool-1 is the runtime identifier assigned by HikariCP for that instance. The sequence shows the pool progressing through initialization until it is ready for use.


Successful Initialization

A successful initialization means the pool has been built, connections established, and the pool is available for the server. The log sequence confirms this by showing the pool starting, adding connections, and completing startup.


Failure Scenarios

If the database connection cannot be established, the pool will not be built. Logs may vary depending on the failure point, for example:

INFO  ambience.etl.jdbc.ConnectionPool - Building SportsCar
INFO  com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
ERROR ambience.etl.jdbc.ConnectionPool Cannot build pool SportsCar

This indicates that the server attempted to build the configured pool SportsCar, but failed.

It is also important to note that Ambience/Repertoire 202x will log the attempt to connect to the database., but the message HikariPool-X Starting... alone does not confirm that the connection pool has been successfully established.

In some cases, you may see only the Building <pool name> log entry without the follow‑up HikariPool-X Starting..., this scenario can occur when connecting to the same server but targeting a different database.


Key Clarifications

  • The configured pool name (e.g., SportsCar) is the main reference for identifying which pool is being built.
  • The HikariPool-X identifier is only an internal runtime label tied to the initialization sequence.
  • These identifiers exist solely to help HikariCP distinguish pool instances during runtime and should not be treated as permanent mappings.