From 140a1841f07d7576823326ba0b75d4cf99047ba2 Mon Sep 17 00:00:00 2001 From: Jannik Krone Date: Tue, 14 Oct 2025 16:42:13 +0200 Subject: [PATCH 1/6] added parameter to allow pool size to be configured config file now accepts e.g. `jdbc {maximum-pool-size = 20}`` --- modules/store/src/main/scala/docspell/store/JdbcConfig.scala | 2 +- modules/store/src/main/scala/docspell/store/Store.scala | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/store/src/main/scala/docspell/store/JdbcConfig.scala b/modules/store/src/main/scala/docspell/store/JdbcConfig.scala index 65fdf3a0cb..e9f9e6b66a 100644 --- a/modules/store/src/main/scala/docspell/store/JdbcConfig.scala +++ b/modules/store/src/main/scala/docspell/store/JdbcConfig.scala @@ -8,7 +8,7 @@ package docspell.store import docspell.common.LenientUri -case class JdbcConfig(url: LenientUri, user: String, password: String) { +case class JdbcConfig(url: LenientUri, user: String, password: String, maximumPoolSize: Int = 10 ) { val dbms: Db = JdbcConfig.extractDbmsName(url).fold(sys.error, identity) diff --git a/modules/store/src/main/scala/docspell/store/Store.scala b/modules/store/src/main/scala/docspell/store/Store.scala index 101724a342..f685c266d5 100644 --- a/modules/store/src/main/scala/docspell/store/Store.scala +++ b/modules/store/src/main/scala/docspell/store/Store.scala @@ -59,6 +59,7 @@ object Store { ds.setUsername(jdbc.user) ds.setPassword(jdbc.password) ds.setDriverClassName(jdbc.dbms.driverClass) + ds.setMaximumPoolSize(jdbc.maximumPoolSize) } logh = DoobieLogging[F](docspell.logging.getLogger[F]) xa = HikariTransactor[F](ds, connectEC, Some(logh)) From e2732c2f080ec4071c078955afc5627e81b277f3 Mon Sep 17 00:00:00 2001 From: Jannik Krone Date: Wed, 22 Oct 2025 13:41:03 +0200 Subject: [PATCH 2/6] fixed the source code formatting --- .../store/src/main/scala/docspell/store/JdbcConfig.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/store/src/main/scala/docspell/store/JdbcConfig.scala b/modules/store/src/main/scala/docspell/store/JdbcConfig.scala index e9f9e6b66a..252f8e854a 100644 --- a/modules/store/src/main/scala/docspell/store/JdbcConfig.scala +++ b/modules/store/src/main/scala/docspell/store/JdbcConfig.scala @@ -8,7 +8,12 @@ package docspell.store import docspell.common.LenientUri -case class JdbcConfig(url: LenientUri, user: String, password: String, maximumPoolSize: Int = 10 ) { +case class JdbcConfig( + url: LenientUri, + user: String, + password: String, + maximumPoolSize: Int = 10 +) { val dbms: Db = JdbcConfig.extractDbmsName(url).fold(sys.error, identity) From 95c7052498be70a5d6966d202002ac6eb932f5a5 Mon Sep 17 00:00:00 2001 From: Jannik Krone Date: Mon, 27 Oct 2025 11:06:18 +0100 Subject: [PATCH 3/6] moved default pool value to reference.conf where it belongs --- modules/joex/src/main/resources/reference.conf | 2 ++ modules/restserver/src/main/resources/reference.conf | 2 ++ modules/store/src/main/scala/docspell/store/JdbcConfig.scala | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/joex/src/main/resources/reference.conf b/modules/joex/src/main/resources/reference.conf index ae62b130a9..51f9ca5385 100644 --- a/modules/joex/src/main/resources/reference.conf +++ b/modules/joex/src/main/resources/reference.conf @@ -53,6 +53,8 @@ docspell.joex { # The database password. password = "" + # The default maximum pool size for hikari JDBC-backen (10 is the default of hikari) + maximum-pool-size =10 } # Additional settings related to schema migration. diff --git a/modules/restserver/src/main/resources/reference.conf b/modules/restserver/src/main/resources/reference.conf index 8d2a75396f..1fa51fe710 100644 --- a/modules/restserver/src/main/resources/reference.conf +++ b/modules/restserver/src/main/resources/reference.conf @@ -405,6 +405,8 @@ docspell.server { # The database password. password = "" + # The default maximum pool size for hikari JDBC-backen (10 is the default of hikari) + maximum-pool-size =10 } # Additional settings related to schema migration. diff --git a/modules/store/src/main/scala/docspell/store/JdbcConfig.scala b/modules/store/src/main/scala/docspell/store/JdbcConfig.scala index 252f8e854a..601060a409 100644 --- a/modules/store/src/main/scala/docspell/store/JdbcConfig.scala +++ b/modules/store/src/main/scala/docspell/store/JdbcConfig.scala @@ -12,7 +12,7 @@ case class JdbcConfig( url: LenientUri, user: String, password: String, - maximumPoolSize: Int = 10 + maximumPoolSize: Int ) { val dbms: Db = From b450c1dd76b5688b4cbfade6a30bad4ceb256372 Mon Sep 17 00:00:00 2001 From: Jannik Krone Date: Wed, 29 Oct 2025 22:44:23 +0100 Subject: [PATCH 4/6] added default value for pool size --- modules/joex/src/main/resources/reference.conf | 3 ++- modules/restserver/src/main/resources/reference.conf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/joex/src/main/resources/reference.conf b/modules/joex/src/main/resources/reference.conf index 51f9ca5385..9ffe72d2d6 100644 --- a/modules/joex/src/main/resources/reference.conf +++ b/modules/joex/src/main/resources/reference.conf @@ -54,7 +54,7 @@ docspell.joex { # The database password. password = "" # The default maximum pool size for hikari JDBC-backen (10 is the default of hikari) - maximum-pool-size =10 + maximum-pool-size = 10 } # Additional settings related to schema migration. @@ -829,6 +829,7 @@ Docpell Update Check url = "jdbc:postgresql://server:5432/db" user = "pguser" password = "" + maximumpoolsize = 10 } # A mapping from a language to a postgres text search config. By diff --git a/modules/restserver/src/main/resources/reference.conf b/modules/restserver/src/main/resources/reference.conf index 1fa51fe710..0a69e132fc 100644 --- a/modules/restserver/src/main/resources/reference.conf +++ b/modules/restserver/src/main/resources/reference.conf @@ -356,6 +356,7 @@ docspell.server { url = "jdbc:postgresql://server:5432/db" user = "pguser" password = "" + maximum-pool-size = 10 } # A mapping from a language to a postgres text search config. By @@ -406,7 +407,7 @@ docspell.server { # The database password. password = "" # The default maximum pool size for hikari JDBC-backen (10 is the default of hikari) - maximum-pool-size =10 + maximum-pool-size = 10 } # Additional settings related to schema migration. From 455d37cfaa8d3bf54f71153554c99b37bbc44b71 Mon Sep 17 00:00:00 2001 From: Jannik Krone Date: Wed, 29 Oct 2025 22:44:42 +0100 Subject: [PATCH 5/6] added new default value for tests --- .../src/test/scala/docspell/ftspsql/PgFixtures.scala | 2 +- .../store/src/test/scala/docspell/store/DatabaseTest.scala | 2 +- .../store/src/test/scala/docspell/store/StoreFixture.scala | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/fts-psql/src/test/scala/docspell/ftspsql/PgFixtures.scala b/modules/fts-psql/src/test/scala/docspell/ftspsql/PgFixtures.scala index fe804f2856..d137c71ee9 100644 --- a/modules/fts-psql/src/test/scala/docspell/ftspsql/PgFixtures.scala +++ b/modules/fts-psql/src/test/scala/docspell/ftspsql/PgFixtures.scala @@ -30,7 +30,7 @@ trait PgFixtures { ) def jdbcConfig(cnt: PostgreSQLContainer): JdbcConfig = - JdbcConfig(LenientUri.unsafe(cnt.jdbcUrl), cnt.username, cnt.password) + JdbcConfig(LenientUri.unsafe(cnt.jdbcUrl), cnt.username, cnt.password, 10) def dataSource(cnt: PostgreSQLContainer): Resource[IO, DataSource] = StoreFixture.dataSource(jdbcConfig(cnt)) diff --git a/modules/store/src/test/scala/docspell/store/DatabaseTest.scala b/modules/store/src/test/scala/docspell/store/DatabaseTest.scala index e927dc4e69..431d8ec248 100644 --- a/modules/store/src/test/scala/docspell/store/DatabaseTest.scala +++ b/modules/store/src/test/scala/docspell/store/DatabaseTest.scala @@ -111,7 +111,7 @@ trait DatabaseTest object DatabaseTest { private def jdbcConfig(cnt: JdbcDatabaseContainer) = - JdbcConfig(LenientUri.unsafe(cnt.jdbcUrl), cnt.username, cnt.password) + JdbcConfig(LenientUri.unsafe(cnt.jdbcUrl), cnt.username, cnt.password, 10) private def makeDataSourceFixture(cnt: IO[JdbcDatabaseContainer]) = for { diff --git a/modules/store/src/test/scala/docspell/store/StoreFixture.scala b/modules/store/src/test/scala/docspell/store/StoreFixture.scala index b1254d132a..a7aa7fcbb6 100644 --- a/modules/store/src/test/scala/docspell/store/StoreFixture.scala +++ b/modules/store/src/test/scala/docspell/store/StoreFixture.scala @@ -53,7 +53,8 @@ object StoreFixture { s"jdbc:h2:mem:$dbname;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1" ), "sa", - "" + "", + 10 ) def fileDB(file: Path): JdbcConfig = @@ -62,7 +63,8 @@ object StoreFixture { s"jdbc:h2:file://${file.absolute.toString};MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE" ), "sa", - "" + "", + 10 ) def dataSource(jdbc: JdbcConfig): Resource[IO, DataSource] = { From 90279b14810d1fb06b242c07c20b88b652bb8441 Mon Sep 17 00:00:00 2001 From: Jannik Krone Date: Wed, 29 Oct 2025 22:50:45 +0100 Subject: [PATCH 6/6] fixed regression: wrong default value name in reference.conf. --- modules/joex/src/main/resources/reference.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/joex/src/main/resources/reference.conf b/modules/joex/src/main/resources/reference.conf index 9ffe72d2d6..ef10080ab9 100644 --- a/modules/joex/src/main/resources/reference.conf +++ b/modules/joex/src/main/resources/reference.conf @@ -829,7 +829,7 @@ Docpell Update Check url = "jdbc:postgresql://server:5432/db" user = "pguser" password = "" - maximumpoolsize = 10 + maximum-pool-size = 10 } # A mapping from a language to a postgres text search config. By