luwei16 opened a new pull request, #67702:
URL: https://github.com/apache/doris/pull/67702

   ### What problem does this PR solve?
   
   Issue Number: N/A
   
   Related PR: N/A
   
   Problem Summary: An all-NULL Variant column creates no logical index 
directory, but its V2/V3 FileWriter has already been created. The empty-index 
close path only closed StreamSink, S3 and Packed writers, leaving 
LocalFileWriter and opaque wrappers open. Local writer destruction could 
consequently remove the empty file. Dispatch both close phases through 
FileWriter for every non-null, non-CLOSED writer, preserving the asynchronous 
protocol and returning close errors. Add implementation-independent lifecycle 
coverage, verify Local empty file persistence and exactly one StreamSink EOS/S3 
empty-object commit, and make the Variant regression enforce its expected query 
error.
   
   ### Release note
   
   Persist empty V2/V3 index files for all FileWriter implementations, 
including wrappers, while preserving V1 and already-closed writer behavior.
   
   ### Check List (For Author)
   
   - Test: Unit Test / Regression test / Manual test
       - 64 focused ASAN BE tests passed; the new baseline suite first 
demonstrated 13 failures before the fix.
       - test_variant_empty_index_file regression passed on the locally built 
cluster.
       - ASAN BE/FE product build, clang-format 16, check-format and build 
hygiene passed.
       - clang-tidy was attempted; an existing unmatched NOLINTEND in 
be/src/core/types.h:576 prevents a complete pass.
   - Behavior changed: Yes; explicitly close empty index files for every writer 
implementation and skip already-closed writers.
   - Does this need documentation: No
   
   
   
   


-- 
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