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]