markusthoemmes commented on a change in pull request #2795: enable concurrent 
activation processing
URL: 
https://github.com/apache/incubator-openwhisk/pull/2795#discussion_r189563046
 
 

 ##########
 File path: 
core/invoker/src/main/scala/whisk/core/containerpool/ContainerProxy.scala
 ##########
 @@ -53,14 +52,24 @@ case object Paused extends ContainerState
 case object Removing extends ContainerState
 
 // Data
-sealed abstract class ContainerData(val lastUsed: Instant)
+sealed abstract class ContainerData(val lastUsed: Instant, val 
activeActivationCount: Int = 0)
 case class NoData() extends ContainerData(Instant.EPOCH)
-case class PreWarmedData(container: Container, kind: String, memoryLimit: 
ByteSize) extends ContainerData(Instant.EPOCH)
+case class PreWarmedData(container: Container,
+                         kind: String,
+                         memoryLimit: ByteSize,
+                         override val activeActivationCount: Int = 0)
+    extends ContainerData(Instant.EPOCH)
 case class WarmedData(container: Container,
                       invocationNamespace: EntityName,
                       action: ExecutableWhiskAction,
-                      override val lastUsed: Instant)
-    extends ContainerData(lastUsed)
+                      override val lastUsed: Instant,
+                      override val activeActivationCount: Int = 0)
+    extends ContainerData(lastUsed) {
+  def incrementActive: WarmedData =
+    WarmedData(container, invocationNamespace, action, Instant.now, 
activeActivationCount + 1)
 
 Review comment:
   `case class`es always have a `copy` method. This is equal to:
   
   ```scala
   copy(activeActivationCount = activeActivationCount + 1)
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to