JackDrogon commented on code in PR #22447:
URL: https://github.com/apache/doris/pull/22447#discussion_r1282727062


##########
be/src/olap/rowset/rowset_meta_manager.cpp:
##########
@@ -307,6 +312,33 @@ Status RowsetMetaManager::traverse_rowset_metas(
     return status;
 }
 
+Status RowsetMetaManager::traverse_binlog_metas(
+        OlapMeta* meta, std::function<bool(const string&, const string&, 
bool)> const& collector) {
+    std::pair<std::string, bool> last_info = std::make_pair("", false);
+    auto traverse_binlog_meta_func = [&last_info, &collector](const 
std::string& key,
+                                                              const 
std::string& value) -> bool {
+        auto& [last_prefix, need_collect] = last_info;

Review Comment:
   改成使用~,来递增,重新使用rocksdb seek减少过滤吧
   
比如key是`binlog_meta_6943f1585fe834b5-e542c2b83a21d0b7_00000000000000000069_020000000000000135449d7cd7eadfe672aa0f928fa99593',
 extract last part '020000000000000135449d7cd7eadfe672aa0f928fa99593`, 
之后改成`binlog_meta_6943f1585fe834b5-e542c2b83a21d0b7~`, 用这个key去过滤rocksdb



##########
be/src/olap/rowset/rowset_meta_manager.cpp:
##########
@@ -307,6 +312,33 @@ Status RowsetMetaManager::traverse_rowset_metas(
     return status;
 }
 
+Status RowsetMetaManager::traverse_binlog_metas(
+        OlapMeta* meta, std::function<bool(const string&, const string&, 
bool)> const& collector) {
+    std::pair<std::string, bool> last_info = std::make_pair("", false);
+    auto traverse_binlog_meta_func = [&last_info, &collector](const 
std::string& key,
+                                                              const 
std::string& value) -> bool {
+        auto& [last_prefix, need_collect] = last_info;

Review Comment:
   改成使用~,来递增,重新使用rocksdb seek减少过滤吧
   
比如key是`binlog_meta_6943f1585fe834b5-e542c2b83a21d0b7_00000000000000000069_020000000000000135449d7cd7eadfe672aa0f928fa99593',
 extract last part '020000000000000135449d7cd7eadfe672aa0f928fa99593`, 
之后改成`binlog_meta_6943f1585fe834b5-e542c2b83a21d0b7~`, 用这个key去过滤rocksdb



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to