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]

Reply via email to