You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by vo...@apache.org on 2020/02/19 11:46:41 UTC

[rocketmq-client-cpp] branch master updated: fix(transaction): failed to select transaction producer to call local state checker (#246)

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

vongosling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-cpp.git


The following commit(s) were added to refs/heads/master by this push:
     new 1e4ac9c  fix(transaction): failed to select transaction producer to call local state checker (#246)
1e4ac9c is described below

commit 1e4ac9c0d3fa67c087e6077977992d53ec07aa98
Author: dinglei <li...@163.com>
AuthorDate: Wed Feb 19 19:46:31 2020 +0800

    fix(transaction): failed to select transaction producer to call local state checker (#246)
    
    * fix(transaction): failed to select transaction producer to call local state checker
    
    * fix(transaction): fix the coredump when the transaction producer shutdown.
---
 src/MQClientFactory.cpp  | 4 ++--
 src/extern/CProducer.cpp | 4 ----
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/MQClientFactory.cpp b/src/MQClientFactory.cpp
index 6e1a392..5a3e363 100644
--- a/src/MQClientFactory.cpp
+++ b/src/MQClientFactory.cpp
@@ -22,7 +22,7 @@
 #include "PullRequest.h"
 #include "Rebalance.h"
 #include "TopicPublishInfo.h"
-#include "TransactionMQProducer.h"
+#include "TransactionMQProducerImpl.h"
 
 #define MAX_BUFF_SIZE 8192
 #define SAFE_BUFF_SIZE 7936  // 8192 - 256 = 7936
@@ -698,7 +698,7 @@ void MQClientFactory::checkTransactionState(const std::string& addr,
   if (!group.empty()) {
     MQProducer* producer = selectProducer(group);
     if (producer != nullptr) {
-      TransactionMQProducer* transProducer = dynamic_cast<TransactionMQProducer*>(producer);
+      TransactionMQProducerImpl* transProducer = dynamic_cast<TransactionMQProducerImpl*>(producer);
       if (transProducer != nullptr) {
         transProducer->checkTransactionState(addr, messageExt, checkRequestHeader.m_tranStateTableOffset,
                                              checkRequestHeader.m_commitLogOffset, checkRequestHeader.m_msgId,
diff --git a/src/extern/CProducer.cpp b/src/extern/CProducer.cpp
index e230257..d025a21 100644
--- a/src/extern/CProducer.cpp
+++ b/src/extern/CProducer.cpp
@@ -261,10 +261,6 @@ int DestroyProducer(CProducer* pProducer) {
       delete defaultMQProducer->innerTransactionProducer;
       defaultMQProducer->innerTransactionProducer = NULL;
     }
-    if (defaultMQProducer->listenerInner != NULL) {
-      delete defaultMQProducer->listenerInner;
-      defaultMQProducer->listenerInner = NULL;
-    }
   } else {
     if (defaultMQProducer->innerProducer != NULL) {
       delete defaultMQProducer->innerProducer;