From a6cfee67033d9f6ea4688f4b0c9138f7073a9788 Mon Sep 17 00:00:00 2001 From: Aleksandar Maksimovic Date: Thu, 8 Jan 2026 15:51:41 -0800 Subject: [PATCH] Standardize maxLifetime to 55 minutes across examples Update connection pool maxLifetime settings to 3300 seconds (55 minutes) to align with connector best practices. The connector handles token refresh automatically, so connections can live longer. Changes: - java/pgjdbc: 600000 (10 min) -> 3300000 (55 min) - java/spring_boot: 1800000 (30 min) -> 3300000 (55 min) - typescript/type-orm: 2700 (45 min) -> 3300 (55 min) Also updated idleTimeout to 600000 (10 min) for consistency. --- .../java/software/amazon/dsql/examples/ExamplePreferred.java | 4 ++-- java/spring_boot/src/main/resources/application.yml | 4 ++-- typescript/type-orm/src/data-source.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/java/pgjdbc/src/main/java/software/amazon/dsql/examples/ExamplePreferred.java b/java/pgjdbc/src/main/java/software/amazon/dsql/examples/ExamplePreferred.java index cb86e348..7e91c0fc 100644 --- a/java/pgjdbc/src/main/java/software/amazon/dsql/examples/ExamplePreferred.java +++ b/java/pgjdbc/src/main/java/software/amazon/dsql/examples/ExamplePreferred.java @@ -56,8 +56,8 @@ private HikariDataSource initializeConnectionPool(String endpoint, String userna config.setMaximumPoolSize(20); // Production pool size config.setMinimumIdle(5); // Keep connections ready config.setConnectionTimeout(30000); // 30 seconds - config.setIdleTimeout(300000); // 5 minutes (shorter than token expiry) - config.setMaxLifetime(600000); // 10 minutes (shorter than token expiry) + config.setIdleTimeout(600000); // 10 minutes + config.setMaxLifetime(3300000); // 55 minutes (connector handles token refresh) config.setLeakDetectionThreshold(60000); // 60 seconds // Connection validation diff --git a/java/spring_boot/src/main/resources/application.yml b/java/spring_boot/src/main/resources/application.yml index 7cfb01d8..db88505a 100644 --- a/java/spring_boot/src/main/resources/application.yml +++ b/java/spring_boot/src/main/resources/application.yml @@ -11,10 +11,10 @@ spring: username: ${cluster.user} driver-class-name: software.amazon.dsql.jdbc.DSQLConnector hikari: - max-lifetime: 1800000 # 30 minutes (shorter than Aurora DSQL's 60-minute limit) + max-lifetime: 3300000 # 55 minutes (connector handles token refresh) minimum-idle: 2 maximum-pool-size: 10 - idle-timeout: 300000 # 5 minutes + idle-timeout: 600000 # 10 minutes connection-timeout: 30000 # 30 seconds validation-timeout: 5000 # 5 seconds connection-test-query: "SELECT 1" diff --git a/typescript/type-orm/src/data-source.ts b/typescript/type-orm/src/data-source.ts index 7f99d116..1f9e79c2 100644 --- a/typescript/type-orm/src/data-source.ts +++ b/typescript/type-orm/src/data-source.ts @@ -43,9 +43,9 @@ const getDataSource = async () => { extra: { min: 0, max: 5, - idleTimeoutMillis: 10000, + idleTimeoutMillis: 600000, // 10 minutes connectionTimeoutMillis: 30000, - maxLifetimeSeconds: 2700, // 45 min + maxLifetimeSeconds: 3300, // 55 minutes (connector handles token refresh) }, });