This is an automated email from the ASF dual-hosted git repository.

markusthoemmes pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk.git


The following commit(s) were added to refs/heads/master by this push:
     new bbb5c58  Changed hardcoded timeouts for idle containers and pause 
grace to config entries. (#3471)
bbb5c58 is described below

commit bbb5c5802fd12830d7a87b973c9794d3a3d17ffd
Author: Brendan McAdams <[email protected]>
AuthorDate: Tue Apr 3 05:50:09 2018 -0700

    Changed hardcoded timeouts for idle containers and pause grace to config 
entries. (#3471)
    
    Fixes #3470
---
 common/scala/src/main/scala/whisk/core/WhiskConfig.scala      |  4 ++++
 core/invoker/src/main/resources/application.conf              |  9 +++++++++
 .../main/scala/whisk/core/containerpool/ContainerProxy.scala  | 11 +++++++++--
 3 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala 
b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala
index 9b4dd98..8779323 100644
--- a/common/scala/src/main/scala/whisk/core/WhiskConfig.scala
+++ b/common/scala/src/main/scala/whisk/core/WhiskConfig.scala
@@ -250,4 +250,8 @@ object ConfigKeys {
   val elasticSearch = s"$logStore.elasticsearch"
 
   val mesos = "whisk.mesos"
+
+  val containerProxy = "whisk.container-proxy"
+  val containerProxyTimeouts = s"$containerProxy.timeouts"
+
 }
diff --git a/core/invoker/src/main/resources/application.conf 
b/core/invoker/src/main/resources/application.conf
index bc651fc..3ee046d 100644
--- a/core/invoker/src/main/resources/application.conf
+++ b/core/invoker/src/main/resources/application.conf
@@ -44,4 +44,13 @@ whisk {
     dns-servers: []
     extra-args: {}
   }
+
+  container-proxy {
+    timeouts {
+      # The "unusedTimeout" in the ContainerProxy,
+      #aka 'How long should a container sit idle until we kill it?'
+      idle-container = 10 minutes
+      pause-grace = 50 milliseconds
+    }
+  }
 }
diff --git 
a/core/invoker/src/main/scala/whisk/core/containerpool/ContainerProxy.scala 
b/core/invoker/src/main/scala/whisk/core/containerpool/ContainerProxy.scala
index d50e07c..99557e6 100644
--- a/core/invoker/src/main/scala/whisk/core/containerpool/ContainerProxy.scala
+++ b/core/invoker/src/main/scala/whisk/core/containerpool/ContainerProxy.scala
@@ -18,6 +18,7 @@
 package whisk.core.containerpool
 
 import java.time.Instant
+
 import scala.concurrent.Future
 import scala.concurrent.duration._
 import scala.util.Success
@@ -37,6 +38,8 @@ import whisk.core.entity.size._
 import whisk.core.entity.ExecManifest.ImageName
 import whisk.http.Messages
 import akka.event.Logging.InfoLevel
+import pureconfig.loadConfigOrThrow
+import whisk.core.ConfigKeys
 
 // States
 sealed trait ContainerState
@@ -406,6 +409,8 @@ class ContainerProxy(
   }
 }
 
+final case class ContainerProxyTimeoutConfig(idleContainer: FiniteDuration, 
pauseGrace: FiniteDuration)
+
 object ContainerProxy {
   def props(
     factory: (TransactionId, String, ImageName, Boolean, ByteSize) => 
Future[Container],
@@ -413,13 +418,15 @@ object ContainerProxy {
     store: (TransactionId, WhiskActivation) => Future[Any],
     collectLogs: (TransactionId, Identity, WhiskActivation, Container, 
ExecutableWhiskAction) => Future[ActivationLogs],
     instance: InstanceId,
-    unusedTimeout: FiniteDuration = 10.minutes,
-    pauseGrace: FiniteDuration = 50.milliseconds) =
+    unusedTimeout: FiniteDuration = timeouts.idleContainer,
+    pauseGrace: FiniteDuration = timeouts.pauseGrace) =
     Props(new ContainerProxy(factory, ack, store, collectLogs, instance, 
unusedTimeout, pauseGrace))
 
   // Needs to be thread-safe as it's used by multiple proxies concurrently.
   private val containerCount = new Counter
 
+  val timeouts = 
loadConfigOrThrow[ContainerProxyTimeoutConfig](ConfigKeys.containerProxyTimeouts)
+
   /**
    * Generates a unique container name.
    *

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to