-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Zdravím,
narážíme při ingestu dávek na problém. Některé balíčky selžou (ale náhodně, některé dávky proběhnou celé bez problému) ve fázi, kdy proběhly všechny body wokflow, a mají se uložit na archivní část úložiště. Vypadne následující chyba:
Zkoumáním logů to vypadá na nějaký problém v okamžiku, kdy se má ověřit v databázi, že balíček byl uložen. Dotaz do databáze se neprovede a následuje rollback. Mám podezření, že to nějak souvisí s hikari poolem a tím jak "čistí" v pravidelných intervalech neaktivní spojení do databáze.
Když dojde na "čištění" poolu (byl překročen limit maxLifetime) spojení, a "správně" se to sejde v okamžiku kdy přijde ověřovací dotaz, tak ověření selže:
Log zde:
archival-storage.debug.log.part.zip
Zkusil jsem trochu poladit parametry hikari, aktuálně je nastaveno:
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1
spring.datasource.testOnBorrow=true
# hikari settings
# https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby
spring.datasource.hikari.maximum-pool-size=16
spring.datasource.hikari.max-lifetime=1200000
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.validation-timeout=10000
spring.datasource.hikari.leak-detection-threshold=10000
logging.level.com.zaxxer.hikari=DEBUG
#
Špatně se to detekuje. Nějaký nápad co s tím?
Díky, MD

