diff options
author | David Ostrovsky <david@ostrovsky.org> | 2020-06-29 07:17:26 +0200 |
---|---|---|
committer | David Ostrovsky <david@ostrovsky.org> | 2020-06-29 07:17:45 +0200 |
commit | d7cfdbc914dc18ffab985538bf392a6b9e43c547 (patch) | |
tree | 76d9e4a92515aba7536ad9ba08a85fb99ab1003c | |
parent | 430163a0fdcca990d4b9350039ee3a31667decce (diff) |
Add max query timeout setting for h2 dialect
Change-Id: I78985722fc01f72885318d128a05d617087d8eea
-rw-r--r-- | Documentation/config-gerrit.txt | 7 | ||||
-rw-r--r-- | java/com/google/gerrit/server/schema/H2.java | 4 |
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"); } |