You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tubemq.apache.org by go...@apache.org on 2020/10/09 03:29:24 UTC

[incubator-tubemq] branch master updated: [TUBEMQ-370] Calling GetCurConsumedInfo API always returns failure (#282)

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

gosonzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tubemq.git


The following commit(s) were added to refs/heads/master by this push:
     new f357f20  [TUBEMQ-370] Calling GetCurConsumedInfo API always returns failure (#282)
f357f20 is described below

commit f357f204831950756d8e2f8ff02ec61e5074236f
Author: gosonzhang <46...@qq.com>
AuthorDate: Fri Oct 9 11:29:17 2020 +0800

    [TUBEMQ-370] Calling GetCurConsumedInfo API always returns failure (#282)
    
    Co-authored-by: gosonzhang <go...@tencent.com>
---
 .../tubemq-client-cpp/src/rmt_data_cache.cc                | 14 +++-----------
 tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.h |  2 +-
 2 files changed, 4 insertions(+), 12 deletions(-)

diff --git a/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.cc b/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.cc
index 8bc9067..86df833 100644
--- a/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.cc
+++ b/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.cc
@@ -178,7 +178,6 @@ bool RmtDataCacheCsm::SelectPartition(int32_t& error_code, string& err_info,
 }
 
 void RmtDataCacheCsm::BookedPartionInfo(const string& partition_key, int64_t curr_offset) {
-  map<string, PartitionExt>::iterator it_part;
   // book partition offset info
   if (curr_offset >= 0) {
     lock_guard<mutex> lck1(data_book_mutex_);
@@ -192,10 +191,7 @@ void RmtDataCacheCsm::BookedPartionInfo(const string& partition_key, int64_t cur
                                         bool require_slow) {
   map<string, PartitionExt>::iterator it_part;
   // book partition offset info
-  if (curr_offset >= 0) {
-    lock_guard<mutex> lck1(data_book_mutex_);
-    partition_offset_[partition_key] = curr_offset;
-  }
+  BookedPartionInfo(partition_key, curr_offset);
   // book partition temp info
   lock_guard<mutex> lck2(meta_lock_);
   it_part = partitions_.find(partition_key);
@@ -339,14 +335,10 @@ void RmtDataCacheCsm::GetPartitionByBroker(const NodeInfo& broker_info,
   }
 }
 
-void RmtDataCacheCsm::GetCurPartitionOffsets(map<string, int64_t> part_offset_map) {
-  map<string, int64_t>::iterator it;
-
+void RmtDataCacheCsm::GetCurPartitionOffsets(map<string, int64_t>& part_offset_map) {
   part_offset_map.clear();
   lock_guard<mutex> lck(data_book_mutex_);
-  for (it = partition_offset_.begin(); it != partition_offset_.end(); ++it) {
-    part_offset_map[it->first] = it->second;
-  }
+  part_offset_map = partition_offset_;
 }
 
 //
diff --git a/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.h b/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.h
index 5b77eb7..f90a8f8 100644
--- a/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.h
+++ b/tubemq-client-twins/tubemq-client-cpp/src/rmt_data_cache.h
@@ -91,7 +91,7 @@ class RmtDataCacheCsm {
   void GetRegBrokers(list<NodeInfo>& brokers);
   void GetPartitionByBroker(const NodeInfo& broker_info,
                                     list<PartitionExt>& partition_list);
-  void GetCurPartitionOffsets(map<string, int64_t> part_offset_map);
+  void GetCurPartitionOffsets(map<string, int64_t>& part_offset_map);
   void GetAllClosedBrokerParts(map<NodeInfo, list<PartitionExt> >& broker_parts);
   void RemovePartition(const list<PartitionExt>& partition_list);
   void RemovePartition(const set<string>& partition_keys);