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

pengxiangyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new c5481dfdf7 [fix](remote)Fix bug for Segment::open() in case: 
config::file_cache_type (#12249)
c5481dfdf7 is described below

commit c5481dfdf7e0b9e34d204cd79b66466908f82e3b
Author: pengxiangyu <[email protected]>
AuthorDate: Thu Sep 1 14:16:41 2022 +0800

    [fix](remote)Fix bug for Segment::open() in case: config::file_cache_type 
(#12249)
    
    * fix bug for Segment::open() in case: config::file_cache_type
    
    * fix bug for Segment::open() in case: config::file_cache_type
---
 be/src/olap/rowset/segment_v2/segment.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/be/src/olap/rowset/segment_v2/segment.cpp 
b/be/src/olap/rowset/segment_v2/segment.cpp
index cf013abeb6..1f1cb59729 100644
--- a/be/src/olap/rowset/segment_v2/segment.cpp
+++ b/be/src/olap/rowset/segment_v2/segment.cpp
@@ -25,6 +25,7 @@
 #include "common/config.h"
 #include "common/logging.h" // LOG
 #include "io/cache/file_cache_manager.h"
+#include "io/fs/file_system.h"
 #include "olap/rowset/segment_v2/column_reader.h" // ColumnReader
 #include "olap/rowset/segment_v2/empty_segment_iterator.h"
 #include "olap/rowset/segment_v2/page_io.h"
@@ -46,14 +47,14 @@ Status Segment::open(io::FileSystem* fs, const std::string& 
path, const std::str
     std::shared_ptr<Segment> segment(new Segment(segment_id, tablet_schema));
     io::FileReaderSPtr file_reader;
     RETURN_IF_ERROR(fs->open_file(path, &file_reader));
-    if (config::file_cache_type.empty()) {
-        segment->_file_reader = std::move(file_reader);
-    } else {
+    if (fs->type() != io::FileSystemType::LOCAL && 
!config::file_cache_type.empty()) {
         io::FileCachePtr cache_reader = 
FileCacheManager::instance()->new_file_cache(
                 cache_path, config::file_cache_alive_time_sec, file_reader,
                 config::file_cache_type);
         segment->_file_reader = cache_reader;
         FileCacheManager::instance()->add_file_cache(cache_path, cache_reader);
+    } else {
+        segment->_file_reader = std::move(file_reader);
     }
     RETURN_IF_ERROR(segment->_open());
     *output = std::move(segment);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to