markusthoemmes commented on a change in pull request #4951:
URL: https://github.com/apache/openwhisk/pull/4951#discussion_r483413869



##########
File path: 
common/scala/src/main/scala/org/apache/openwhisk/common/NestedSemaphore.scala
##########
@@ -100,14 +100,19 @@ class NestedSemaphore[T](memoryPermits: Int) extends 
ForcibleSemaphore(memoryPer
     if (maxConcurrent == 1) {
       super.release(memoryPermits)
     } else {
-      val concurrentSlots = actionConcurrentSlotsMap(actionid)
-      val (memoryRelease, actionRelease) = concurrentSlots.release(1, true)
-      //concurrent slots
-      if (memoryRelease) {
-        super.release(memoryPermits)
-      }
-      if (actionRelease) {
-        actionConcurrentSlotsMap.remove(actionid)
+      //This map may be recreated (multiple times) due to cluster membership 
events, so don't assume the entry exists...
+      actionConcurrentSlotsMap.get(actionid) match {

Review comment:
       ```suggestion
         actionConcurrentSlotsMap.get(actionid).foreach { concurrentSlots =>
   ```
   
   Would spare you from having the awkward empty `None` case

##########
File path: 
common/scala/src/main/scala/org/apache/openwhisk/core/connector/MessageConsumer.scala
##########
@@ -213,7 +213,13 @@ class MessageFeed(description: String,
       outstandingMessages = outstandingMessages.tail
 
       if (logHandoff) logging.debug(this, s"processing 
$topic[$partition][$offset] ($occupancy/$handlerCapacity)")
-      handler(bytes)
+      handler(bytes).andThen {
+        {
+          case Failure(e) =>
+            logging.error(this, s"Failed to process message for topic $topic : 
$e  (stack trace included)")
+            e.printStackTrace()

Review comment:
       Isn't it already part of the log line above anyway? I guess the broader 
question is: Why is the stack trace even needed here?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to