You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by eo...@apache.org on 2022/09/14 08:03:07 UTC
[pulsar] branch master updated: [broker] Do not log stacktrace for 'Failed to flush mark-delete position' case (#17432)
This is an automated email from the ASF dual-hosted git repository.
eolivelli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 5a87c47705a [broker] Do not log stacktrace for 'Failed to flush mark-delete position' case (#17432)
5a87c47705a is described below
commit 5a87c47705a156534c7be42dce2cc71707e80998
Author: Enrico Olivelli <eo...@apache.org>
AuthorDate: Wed Sep 14 10:02:58 2022 +0200
[broker] Do not log stacktrace for 'Failed to flush mark-delete position' case (#17432)
---
.../bookkeeper/mledger/impl/ManagedCursorImpl.java | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
index 59da6fc81da..107390084d6 100644
--- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
+++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
@@ -1729,7 +1729,7 @@ public class ManagedCursorImpl implements ManagedCursor {
*/
PositionImpl setAcknowledgedPosition(PositionImpl newMarkDeletePosition) {
if (newMarkDeletePosition.compareTo(markDeletePosition) < 0) {
- throw new IllegalArgumentException(
+ throw new MarkDeletingMarkedPosition(
"Mark deleting an already mark-deleted position. Current mark-delete: " + markDeletePosition
+ " -- attempted mark delete: " + newMarkDeletePosition);
}
@@ -1800,6 +1800,12 @@ public class ManagedCursorImpl implements ManagedCursor {
asyncMarkDelete(position, Collections.emptyMap(), callback, ctx);
}
+ private final class MarkDeletingMarkedPosition extends IllegalArgumentException {
+ public MarkDeletingMarkedPosition(String s) {
+ super(s);
+ }
+ }
+
@Override
public void asyncMarkDelete(final Position position, Map<String, Long> properties,
final MarkDeleteCallback callback, final Object ctx) {
@@ -3289,7 +3295,13 @@ public class ManagedCursorImpl implements ManagedCursor {
@Override
public void markDeleteFailed(ManagedLedgerException exception, Object ctx) {
- log.warn("[{}][{}] Failed to flush mark-delete position", ledger.getName(), name, exception);
+ if (exception.getCause() instanceof MarkDeletingMarkedPosition) {
+ // this is not actually a problem, we should not log a stacktrace
+ log.info("[{}][{}] Cannot flush mark-delete position: {}", ledger.getName(),
+ name, exception.getCause().getMessage());
+ } else {
+ log.warn("[{}][{}] Failed to flush mark-delete position", ledger.getName(), name, exception);
+ }
}
}, null);
}