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]
