airborne12 commented on code in PR #67918:
URL: https://github.com/apache/doris/pull/67918#discussion_r4056333162
##########
be/src/storage/index/inverted/inverted_index_writer.cpp:
##########
@@ -329,6 +333,9 @@ Status
InvertedIndexColumnWriter<field_type>::new_inverted_index_field(const cha
} catch (const CLuceneError& e) {
return Status::Error<ErrorCode::INVERTED_INDEX_CLUCENE_ERROR>(
"CLuceneError create new index field error: {}", e.what());
+ } catch (const Exception& e) {
Review Comment:
Fixed in `7aeb0da5337`.
The ARRAY writer now contains both `CLuceneError` and `doris::Exception`
around reader creation, `tokenStream()`, and field publication before
`add_document()`. On failure it clears the partial document, closes the writer,
and returns the matching inverted-index `Status`, so the exception cannot
escape the Status API.
The new `ArrayAnalyzerExceptionReturnsStatus` test was RED before the change
because the injected `doris::Exception` escaped, and is GREEN after the change
with `INVERTED_INDEX_ANALYZER_ERROR`. It is paired with the existing real-IK
missing-dictionary test, which verifies that the custom IK tokenizer converts
that failure into the same Doris exception type.
Validation on the repaired head:
- `InvertedIndexWriterTest.*`: 20/20 passed.
- Focused writer/reader/IK exception suite: 9/9 passed.
- `./build.sh --be`: passed under ASAN, including GLIBC compatibility and
CDC client stages.
- clang-format/check-format and the exact merge-snapshot publication gate
passed.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]