You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by yu...@apache.org on 2023/10/08 07:32:38 UTC
[pulsar] branch branch-2.10 updated: [improve] [broker] Print warn log if ssl handshake error & print ledger id when switch ledger (#21201)
This is an automated email from the ASF dual-hosted git repository.
yubiao pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.10 by this push:
new f3876c12735 [improve] [broker] Print warn log if ssl handshake error & print ledger id when switch ledger (#21201)
f3876c12735 is described below
commit f3876c1273553be355c59f1eff71cf75baf43077
Author: fengyubiao <yu...@streamnative.io>
AuthorDate: Fri Sep 29 00:12:16 2023 +0800
[improve] [broker] Print warn log if ssl handshake error & print ledger id when switch ledger (#21201)
### Modifications
- Print a warning log if the SSL handshake error
- Print ledger ID when switching ledger
(cherry picked from commit 8485d68197300dca83b7b443c8aebc4418a85e4b)
---
.../apache/bookkeeper/mledger/impl/ManagedCursorImpl.java | 3 ++-
.../apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java | 6 ++++--
.../main/java/org/apache/pulsar/client/impl/ClientCnx.java | 13 +++++++++++++
3 files changed, 19 insertions(+), 3 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 35da0f33f5d..b9baedb99c1 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
@@ -1162,7 +1162,8 @@ public class ManagedCursorImpl implements ManagedCursor {
newReadPosition = proposedReadPosition;
}
- log.info("[{}] Initiate reset readPosition to {} on cursor {}", ledger.getName(), newReadPosition, name);
+ log.info("[{}] Initiate reset readPosition from {} to {} on cursor {}", ledger.getName(), readPosition,
+ newReadPosition, name);
synchronized (pendingMarkDeleteOps) {
if (!RESET_CURSOR_IN_PROGRESS_UPDATER.compareAndSet(this, FALSE, TRUE)) {
diff --git a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
index 9a6a45550f9..d4aa97400db 100644
--- a/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
+++ b/managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedLedgerImpl.java
@@ -504,7 +504,8 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback {
return;
}
- log.info("[{}] Created ledger {}", name, lh.getId());
+ log.info("[{}] Created ledger {} after closed {}", name, lh.getId(),
+ currentLedger == null ? "null" : currentLedger.getId());
STATE_UPDATER.set(this, State.LedgerOpened);
updateLastLedgerCreatedTimeAndScheduleRolloverTask();
currentLedger = lh;
@@ -1714,7 +1715,8 @@ public class ManagedLedgerImpl implements ManagedLedger, CreateCallback {
synchronized void createLedgerAfterClosed() {
if (isNeededCreateNewLedgerAfterCloseLedger()) {
- log.info("[{}] Creating a new ledger after closed", name);
+ log.info("[{}] Creating a new ledger after closed {}", name,
+ currentLedger == null ? "null" : currentLedger.getId());
STATE_UPDATER.set(this, State.CreatingLedger);
this.lastLedgerCreationInitiationTimestamp = System.currentTimeMillis();
mbean.startDataLedgerCreateOp();
diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
index d2a5a8b3004..31fc460000b 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ClientCnx.java
@@ -30,6 +30,7 @@ import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.unix.Errors.NativeIoException;
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
+import io.netty.handler.ssl.SslHandshakeCompletionEvent;
import io.netty.util.concurrent.Promise;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
@@ -1174,6 +1175,18 @@ public class ClientCnx extends PulsarHandler {
}
}
+ @Override
+ public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
+ if (evt instanceof SslHandshakeCompletionEvent) {
+ SslHandshakeCompletionEvent sslHandshakeCompletionEvent = (SslHandshakeCompletionEvent) evt;
+ if (sslHandshakeCompletionEvent.cause() != null) {
+ log.warn("{} Got ssl handshake exception {}", ctx.channel(),
+ sslHandshakeCompletionEvent);
+ }
+ }
+ ctx.fireUserEventTriggered(evt);
+ }
+
protected void closeWithException(Throwable e) {
if (ctx != null) {
connectionFuture.completeExceptionally(e);