From 4b402bec858a8e955d85fb872eecbad4023b15ba Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Mon, 2 Mar 2020 21:50:28 -0500 Subject: Don't log cancellation exception When an Actor operation is canceled it's done on purpose, yet the whole exception stack trace is included in the log. Modified the code to leave out the stack trace for cancellations. I don't THINK this will cause a sonar issue, as it isn't the exception is never caught via a "catch" clause. Issue-ID: POLICY-1625 Signed-off-by: Jim Hahn Change-Id: Ib5238e4791ae491b30286cdc8ed9caf67432dc26 --- .../actorserviceprovider/impl/OperationPartial.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/OperationPartial.java b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/OperationPartial.java index 04360447c..653f569bd 100644 --- a/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/OperationPartial.java +++ b/models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/OperationPartial.java @@ -28,6 +28,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Queue; +import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; import java.util.concurrent.Executor; @@ -528,8 +529,14 @@ public abstract class OperationPartial implements Operation { return thrown -> { OperationOutcome outcome = params.makeOutcome(); - logger.warn("exception throw by {} {}.{} for {}", type, outcome.getActor(), outcome.getOperation(), - params.getRequestId(), thrown); + if (thrown instanceof CancellationException || thrown.getCause() instanceof CancellationException) { + // do not include exception in the message, as it just clutters the log + logger.warn("{} canceled {}.{} for {}", type, outcome.getActor(), outcome.getOperation(), + params.getRequestId()); + } else { + logger.warn("exception throw by {} {}.{} for {}", type, outcome.getActor(), outcome.getOperation(), + params.getRequestId(), thrown); + } return setOutcome(outcome, thrown); }; -- cgit 1.2.3-korg