diff options
author | Jim Hahn <jrh3@att.com> | 2020-03-02 21:50:28 -0500 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2020-03-02 21:50:28 -0500 |
commit | 4b402bec858a8e955d85fb872eecbad4023b15ba (patch) | |
tree | 258517d38012f51050a69d0fcedc989fbb2a8502 | |
parent | d5fc0bddf4f1e02d47a95d070c000ff0a6557edd (diff) |
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 <jrh3@att.com>
Change-Id: Ib5238e4791ae491b30286cdc8ed9caf67432dc26
-rw-r--r-- | models-interactions/model-actors/actorServiceProvider/src/main/java/org/onap/policy/controlloop/actorserviceprovider/impl/OperationPartial.java | 11 |
1 files 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); }; |