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

xyz pushed a commit to branch branch-2.8
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit dce262da868b492b9af7f461e8785ab55479886c
Author: JiangHaiting <[email protected]>
AuthorDate: Fri Feb 25 15:56:55 2022 +0800

    Fix producerFuture not complete in ServerCnx#handleProducer (#14467)
    
    (cherry picked from commit e937da92a5c6b79f44436720a81762b0ce6a8139)
---
 .../src/main/java/org/apache/pulsar/broker/service/ServerCnx.java | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/ServerCnx.java 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/ServerCnx.java
index bf65a72fb75..138f9490df7 100644
--- 
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/ServerCnx.java
+++ 
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/ServerCnx.java
@@ -1339,6 +1339,14 @@ public class ServerCnx extends PulsarHandler implements 
TransportCnx {
                             }
                             producers.remove(producerId, producerFuture);
 
+                            log.error("producerId {}, requestId {} : 
TransactionBuffer recover failed",
+                                    producerId, requestId, exception);
+                            if 
(producerFuture.completeExceptionally(exception)) {
+                                commandSender.sendErrorResponse(requestId,
+                                        
ServiceUnitNotReadyException.getClientErrorCode(cause),
+                                        cause.getMessage());
+                            }
+                            producers.remove(producerId, producerFuture);
                             return null;
                         });
                     } else {

Reply via email to