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

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: None
   
   Problem Summary: Local shuffle and lazy materialization paths can share 
input blocks while evaluating Variant expressions. Some Variant operations 
finalized, cached, or extended shared subcolumns in-place, so another consumer 
could observe a mutated column layout or a mismatched row count. Nullable rows 
materialized by nested-loop join also needed to preserve null defaults when 
repeating a selected row. This change keeps const Variant lookups from updating 
the path cache, makes Variant clone/exclusive checks cover nested internal 
columns, preserves pending Variant defaults during cast/serialization, and 
materializes nullable joined rows without reading from empty nested data 
columns.
   
   ### Release note
   
   Fix unstable local-shuffle query results and Variant cast failures caused by 
shared Variant column mutation.
   
   ### Check List (For Author)
   
   - Test:
       - BE UT: `env -u http_proxy -u https_proxy -u HTTP_PROXY -u HTTPS_PROXY 
-u all_proxy -u ALL_PROXY ./run-be-ut.sh --run 
--filter='ColumnVariantTest.clone_finalized_deep_copies_columns:ColumnVariantTest.serialize_does_not_finalize_source_column:ColumnVariantTest.block_serialize_does_not_finalize_source_column:ColumnVariantTest.insert_range_from_materializes_pending_default_suffix:FunctionVariantCast.CastFromVariant:FunctionVariantCast.CastFromVariantDoesNotFinalizeSourceColumn:FunctionVariantCast.CastFromVariantJsonbPrefixDoesNotFinalizeSourceColumn:FunctionVariantCast.CastFromVariantZeroRowPrefixDoesNotFinalizeSourceColumn:FunctionVariantCast.CastFromFinalizedVariantJsonbPrefix:FunctionVariantCast.CastFromNullableVariantPrefixDoesNotFinalizeSourceColumn'`
       - Format: `PATH=/mnt/disk1/claude-max/ldb_toolchain16/bin:$PATH 
build-support/clang-format.sh`
       - Check: `git diff --check upstream/master`
   - Behavior changed: Yes. Variant casts, serialization, and local-shuffle 
consumers no longer mutate shared Variant columns.
   - 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