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

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 582c51851dcd40ffe935e83407f399c26c165cb0
Author: airborne12 <[email protected]>
AuthorDate: Tue Sep 12 16:34:44 2023 +0800

    [Improvement](inverted index) return status error when create inverted 
index reader throwing error (#24223)
    
    Doris will be core when index file error when initialize column reader's 
index reader, try to catch throwing error and return error status.
---
 be/src/olap/rowset/segment_v2/column_reader.cpp | 29 +++++++++++++++++++------
 1 file changed, 22 insertions(+), 7 deletions(-)

diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp 
b/be/src/olap/rowset/segment_v2/column_reader.cpp
index 6bdbed3943..a4a9f68b10 100644
--- a/be/src/olap/rowset/segment_v2/column_reader.cpp
+++ b/be/src/olap/rowset/segment_v2/column_reader.cpp
@@ -503,16 +503,31 @@ Status ColumnReader::_load_inverted_index_index(const 
TabletIndex* index_meta) {
 
     if (is_string_type(type)) {
         if (parser_type != InvertedIndexParserType::PARSER_NONE) {
-            _inverted_index = FullTextIndexReader::create_shared(
-                    _file_reader->fs(), _file_reader->path().native(), 
index_meta);
-            return Status::OK();
+            try {
+                _inverted_index = FullTextIndexReader::create_shared(
+                        _file_reader->fs(), _file_reader->path().native(), 
index_meta);
+                return Status::OK();
+            } catch (const CLuceneError& e) {
+                return Status::Error<ErrorCode::INVERTED_INDEX_CLUCENE_ERROR>(
+                        "create FullTextIndexReader error: {}", e.what());
+            }
         } else {
-            _inverted_index = StringTypeInvertedIndexReader::create_shared(
-                    _file_reader->fs(), _file_reader->path().native(), 
index_meta);
+            try {
+                _inverted_index = StringTypeInvertedIndexReader::create_shared(
+                        _file_reader->fs(), _file_reader->path().native(), 
index_meta);
+            } catch (const CLuceneError& e) {
+                return Status::Error<ErrorCode::INVERTED_INDEX_CLUCENE_ERROR>(
+                        "create StringTypeInvertedIndexReader error: {}", 
e.what());
+            }
         }
     } else if (is_numeric_type(type)) {
-        _inverted_index = BkdIndexReader::create_shared(_file_reader->fs(),
-                                                        
_file_reader->path().native(), index_meta);
+        try {
+            _inverted_index = BkdIndexReader::create_shared(
+                    _file_reader->fs(), _file_reader->path().native(), 
index_meta);
+        } catch (const CLuceneError& e) {
+            return Status::Error<ErrorCode::INVERTED_INDEX_CLUCENE_ERROR>(
+                    "create BkdIndexReader error: {}", e.what());
+        }
     } else {
         _inverted_index.reset();
     }


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

Reply via email to