summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Ostrovsky <david@ostrovsky.org>2020-06-29 07:17:26 +0200
committerDavid Ostrovsky <david@ostrovsky.org>2020-06-29 07:17:45 +0200
commitd7cfdbc914dc18ffab985538bf392a6b9e43c547 (patch)
tree76d9e4a92515aba7536ad9ba08a85fb99ab1003c
parent430163a0fdcca990d4b9350039ee3a31667decce (diff)
Add max query timeout setting for h2 dialect
-rw-r--r--Documentation/config-gerrit.txt7
-rw-r--r--java/com/google/gerrit/server/schema/H2.java4
2 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/config-gerrit.txt b/Documentation/config-gerrit.txt
index e68135ecfa..746f829411 100644
--- a/Documentation/config-gerrit.txt
+++ b/Documentation/config-gerrit.txt
@@ -1905,6 +1905,13 @@ utils (e.g. MigrateToNoteDb).
+
Default is `false`.
+[[database.h2.maxQueryTimeout]]database.h2.maxQueryTimeout::
++
+The maximum timeout of a query in milliseconds.
+(see http://www.h2database.com/javadoc/org/h2/engine/DbSettings.html?#MAX_QUERY_TIMEOUT[MAX_QUERY_TIMEOUT]).
++
+The default is 0, meaning no limit.
+
[[download]]
=== Section download
diff --git a/java/com/google/gerrit/server/schema/H2.java b/java/com/google/gerrit/server/schema/H2.java
index 840eaf0a94..94720126f4 100644
--- a/java/com/google/gerrit/server/schema/H2.java
+++ b/java/com/google/gerrit/server/schema/H2.java
@@ -47,6 +47,7 @@ class H2 extends BaseDataSourceType {
public static String appendUrlOptions(Config cfg, String url) {
long h2CacheSize = cfg.getLong("database", "h2", "cacheSize", -1);
+ long h2MaxQueryTimeout = cfg.getLong("database", "h2", "maxQueryTimeout", -1);
boolean h2AutoServer = cfg.getBoolean("database", "h2", "autoServer", false);
StringBuilder urlBuilder = new StringBuilder().append(url);
@@ -55,6 +56,9 @@ class H2 extends BaseDataSourceType {
// H2 CACHE_SIZE is always given in KB
urlBuilder.append(";CACHE_SIZE=").append(h2CacheSize / 1024);
}
+ if (h2MaxQueryTimeout >= 0) {
+ urlBuilder.append(";MAX_QUERY_TIMEOUT=").append(h2MaxQueryTimeout);
+ }
if (h2AutoServer) {
urlBuilder.append(";AUTO_SERVER=TRUE");
}