This is an automated email from the ASF dual-hosted git repository. alsuliman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit a016c1102c9f62031cbf667c8e43605925347402 Author: Ian Maxon <[email protected]> AuthorDate: Mon Mar 22 13:04:28 2021 -0700 [ASTERIXDB-2854] Make UDF deploy timeout configurable - user model changes: no - storage format changes: no - interface changes: no Details: - Add a config variable for UDF deployment timeout. For very large libraries, this is necessary as it can take some time for them to be distributed and extracted on every node in the cluster Change-Id: Ic318a3b70d5d44c1dbd26f543eb6ef5fe62002ac Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/10623 Reviewed-by: Ian Maxon <[email protected]> Reviewed-by: Dmitry Lychagin <[email protected]> Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Contrib: Ian Maxon <[email protected]> --- .../java/org/apache/asterix/api/http/server/NCUdfApiServlet.java | 4 +++- .../results/api/cluster_state_1/cluster_state_1.1.regexadm | 1 + .../api/cluster_state_1_full/cluster_state_1_full.1.regexadm | 1 + .../api/cluster_state_1_less/cluster_state_1_less.1.regexadm | 1 + .../java/org/apache/asterix/common/config/ExternalProperties.java | 8 +++++++- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java index f164938..717ebf8 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/NCUdfApiServlet.java @@ -83,6 +83,7 @@ public class NCUdfApiServlet extends AbstractNCUdfServlet { protected Path workingDir; protected String sysAuthHeader; private ILibraryManager libraryManager; + private int timeout; private static final Logger LOGGER = LogManager.getLogger(); @@ -91,6 +92,7 @@ public class NCUdfApiServlet extends AbstractNCUdfServlet { super(ctx, paths, appCtx, compilationProvider, httpServerProtocol, httpServerPort); this.compilationProvider = compilationProvider; this.receptionist = appCtx.getReceptionist(); + this.timeout = appCtx.getExternalProperties().getLibraryDeployTimeout(); } @Override @@ -152,7 +154,7 @@ public class NCUdfApiServlet extends AbstractNCUdfServlet { InternalRequestResponse responseMsg; try { ncMb.sendMessageToPrimaryCC(requestMessage); - responseMsg = (InternalRequestResponse) responseFuture.get(120000, TimeUnit.MILLISECONDS); + responseMsg = (InternalRequestResponse) responseFuture.get(timeout, TimeUnit.SECONDS); } finally { ncMb.deregisterMessageFuture(responseFuture.getFutureId()); } diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1/cluster_state_1.1.regexadm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1/cluster_state_1.1.regexadm index b6a49a6..eba50dc 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1/cluster_state_1.1.regexadm +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1/cluster_state_1.1.regexadm @@ -24,6 +24,7 @@ "compiler\.textsearchmemory" : 163840, "compiler\.windowmemory" : 196608, "default\.dir" : "target/io/dir/asterixdb", + "library\.deploy\.timeout" : 1800, "log\.dir" : "logs/", "log\.level" : "INFO", "max\.wait\.active\.cluster" : 60, diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.regexadm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.regexadm index dedb40f..98faa65 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.regexadm +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_full/cluster_state_1_full.1.regexadm @@ -24,6 +24,7 @@ "compiler\.textsearchmemory" : 163840, "compiler\.windowmemory" : 196608, "default\.dir" : "target/io/dir/asterixdb", + "library\.deploy\.timeout" : 1800, "log\.dir" : "logs/", "log\.level" : "WARN", "max\.wait\.active\.cluster" : 60, diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.regexadm b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.regexadm index 985d3bd..a92f7d1 100644 --- a/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.regexadm +++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/api/cluster_state_1_less/cluster_state_1_less.1.regexadm @@ -24,6 +24,7 @@ "compiler\.textsearchmemory" : 163840, "compiler\.windowmemory" : 196608, "default\.dir" : "target/io/dir/asterixdb", + "library\.deploy\.timeout" : 1800, "log\.dir" : "logs/", "log\.level" : "WARN", "max\.wait\.active\.cluster" : 60, diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ExternalProperties.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ExternalProperties.java index 9bef65d..46258bf 100644 --- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ExternalProperties.java +++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/ExternalProperties.java @@ -50,7 +50,8 @@ public class ExternalProperties extends AbstractProperties { POSITIVE_INTEGER_BYTE_UNIT, StorageUtil.getIntSizeInBytes(200, StorageUtil.StorageUnit.MEGABYTE), "The maximum accepted web request size in bytes"), - REQUESTS_ARCHIVE_SIZE(NONNEGATIVE_INTEGER, 50, "The maximum number of archived requests to maintain"); + REQUESTS_ARCHIVE_SIZE(NONNEGATIVE_INTEGER, 50, "The maximum number of archived requests to maintain"), + LIBRARY_DEPLOY_TIMEOUT(POSITIVE_INTEGER, 1800, "Timeout to upload a UDF in seconds"); private final IOptionType type; private final Object defaultValue; @@ -76,6 +77,7 @@ public class ExternalProperties extends AbstractProperties { case LOG_LEVEL: case MAX_WAIT_ACTIVE_CLUSTER: case MAX_WEB_REQUEST_SIZE: + case LIBRARY_DEPLOY_TIMEOUT: return Section.COMMON; case CC_JAVA_OPTS: case NC_JAVA_OPTS: @@ -149,4 +151,8 @@ public class ExternalProperties extends AbstractProperties { return accessor.getInt(Option.REQUESTS_ARCHIVE_SIZE); } + public int getLibraryDeployTimeout() { + return accessor.getInt(Option.LIBRARY_DEPLOY_TIMEOUT); + } + }
