chetanmeh commented on a change in pull request #2795: enable concurrent activation processing URL: https://github.com/apache/incubator-openwhisk/pull/2795#discussion_r225491099
########## File path: core/invoker/src/main/scala/whisk/core/containerpool/ContainerProxy.scala ########## @@ -52,16 +52,27 @@ case object Paused extends ContainerState case object Removing extends ContainerState // Data -sealed abstract class ContainerData(val lastUsed: Instant, val memoryLimit: ByteSize) +sealed abstract class ContainerData(val lastUsed: Instant, + val memoryLimit: ByteSize, + val activeActivationCount: Int = 0) case class NoData() extends ContainerData(Instant.EPOCH, 0.B) case class MemoryData(override val memoryLimit: ByteSize) extends ContainerData(Instant.EPOCH, memoryLimit) -case class PreWarmedData(container: Container, kind: String, override val memoryLimit: ByteSize) - extends ContainerData(Instant.EPOCH, memoryLimit) +case class PreWarmedData(container: Container, + kind: String, + override val memoryLimit: ByteSize, + override val activeActivationCount: Int = 0) Review comment: In which case would a `PreWarmedData` would have `activeActivationCount` != 0? As `PreWarmedData` is by definition state prior to any activation is run. A state transition diagram would be handy here to understand the transitions better! ---------------------------------------------------------------- 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
