This is an automated email from the ASF dual-hosted git repository.

yubiao 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 8485d681973 [improve] [broker] Print warn log if ssl handshake error & 
print ledger id when switch ledger (#21201)
8485d681973 is described below

commit 8485d68197300dca83b7b443c8aebc4418a85e4b
Author: fengyubiao <[email protected]>
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
---
 .../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 376bde3dc2c..f0a2c1f8acd 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
@@ -1266,7 +1266,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 4991080d38c..0f65a1a089c 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
@@ -529,7 +529,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;
@@ -1770,7 +1771,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 115c71307c4..f3e8b2354b3 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;
@@ -1311,6 +1312,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);

Reply via email to