Kaynağa Gözat

AMBARI-8637. Views: API - URLStreamProvider timeout control (aonishuk)

Andrew Onishuk 10 yıl önce
ebeveyn
işleme
a91ac591ab

+ 4 - 0
ambari-server/conf/unix/ambari.properties

@@ -42,6 +42,10 @@ server.connection.max.idle.millis=900000
 server.fqdn.service.url=http://169.254.169.254/latest/meta-data/public-hostname
 server.stages.parallel=true
 
+# Views settings
+views.request.connect.timeout.millis=5000
+views.request.read.timeout.millis=10000
+
 # Scheduler settings
 server.execution.scheduler.isClustered=false
 server.execution.scheduler.maxThreads=5

+ 14 - 0
ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java

@@ -114,6 +114,10 @@ public class Configuration {
   public static final String CLIENT_API_SSL_KEY_NAME_KEY = "client.api.ssl.key_name";
   public static final String SERVER_DB_NAME_KEY = "server.jdbc.database_name";
   public static final String SERVER_DB_NAME_DEFAULT = "ambari";
+  public static final String REQUEST_READ_TIMEOUT = "views.request.read.timeout.millis";
+  public static final String REQUEST_READ_TIMEOUT_DEFAULT= "10000";
+  public static final String REQUEST_CONNECT_TIMEOUT = "views.request.connect.timeout.millis";
+  public static final String REQUEST_CONNECT_TIMEOUT_DEFAULT = "5000";
   public static final String SERVER_JDBC_POSTGRES_SCHEMA_NAME = "server.jdbc.postgres.schema";
   public static final String POSTGRES_DB_NAME = "postgres";
   public static final String ORACLE_DB_NAME = "oracle";
@@ -1098,6 +1102,16 @@ public class Configuration {
         DEFAULT_SCHEDULER_THREAD_COUNT);
   }
 
+  public Integer getRequestReadTimeout() {
+    return Integer.parseInt(properties.getProperty(REQUEST_READ_TIMEOUT,
+        REQUEST_READ_TIMEOUT_DEFAULT));
+  }
+
+  public Integer getRequestConnectTimeout() {
+    return Integer.parseInt(properties.getProperty(REQUEST_CONNECT_TIMEOUT,
+        REQUEST_CONNECT_TIMEOUT_DEFAULT));
+  }
+
   public String getExecutionSchedulerConnections() {
     return properties.getProperty(EXECUTION_SCHEDULER_CONNECTIONS,
         DEFAULT_SCHEDULER_MAX_CONNECTIONS);

+ 2 - 2
ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java

@@ -1426,8 +1426,8 @@ public class ViewRegistry {
     ComponentSSLConfiguration configuration1 = ComponentSSLConfiguration.instance();
     org.apache.ambari.server.controller.internal.URLStreamProvider streamProvider =
         new org.apache.ambari.server.controller.internal.URLStreamProvider(
-            DEFAULT_REQUEST_CONNECT_TIMEOUT,
-            DEFAULT_REQUEST_READ_TIMEOUT,
+            configuration.getRequestConnectTimeout(),
+            configuration.getRequestReadTimeout(),
             configuration1.getTruststorePath(),
             configuration1.getTruststorePassword(),
             configuration1.getTruststoreType());