Skip to content

branch-4.1: [fix](variant) Read exact sparse cells during path promotion - #70355

Merged
yiguolei merged 8 commits into
apache:branch-4.1from
eldenmoon:branch-pick-70212-4.1-20261106
Nov 10, 2026
Merged

yiguolei merged 8 commits into
apache:branch-4.1from
eldenmoon:branch-pick-70212-4.1-20261106

Conversation

@eldenmoon

Copy link
Copy Markdown
Member

cherry-pick #70212

Conflicts resolved: kept branch-4.1 exact-match _fill_variant_v2_path (already equivalent to the master fix; release branch still has dual V1/V2 API) and added intent comment. Adapted new BE UTs to ColumnVariant::create_binary_column_fn / StorageReadOptions.stats / use_variant_v2=true. BinaryColumnExtractIteratorV2Test: 13/13 passed locally.

@eldenmoon
eldenmoon requested a review from yiguolei as a code owner November 6, 2026 12:08
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@eldenmoon

Copy link
Copy Markdown
Member Author

run cloud_p0

…tests

On branch-4.x, casting Variant(max_subcolumns=0) from parse_to_variant
into a column typed Variant(max_subcolumns=1) is rejected. Insert JSON
strings instead so the cast uses the target column type, keeping the
compaction sparse-ancestor promotion coverage from apache#70212.
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

Same branch-4.x Variant→Variant cast rejection as the literal inserts.
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

…anch-4.x

branch-4.x CAST(variant_string AS STRING) returns JSON-quoted "text",
while the cherry-picked master .out expected unquoted text. NonConcurrent
sparse_ancestor_promotion_extended failed qt_before on that cell.
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 61.85% (27327/44181)
Line Coverage 46.55% (285279/612866)
Region Coverage 42.14% (225684/535573)
Branch Coverage 43.75% (105256/240577)

… bool/[]

On branch-4.x, CAST(bool AS STRING) yields true/false while CAST(variant AS
STRING) serializes bool as 1/0; empty array sparse values are omitted.
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 61.85% (27328/44181)
Line Coverage 46.57% (285404/612866)
Region Coverage 42.17% (225836/535573)
Branch Coverage 43.76% (105278/240577)

@eldenmoon

Copy link
Copy Markdown
Member Author

run cloud_p0

…on on branch-4.x

Before compaction, CAST(v AS STRING) still shows "a":1; after vertical
compaction promotes the typed path, branch-4.x serializes the bool as true.
Align promoted/repromoted .out accordingly.
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 61.86% (27331/44181)
Line Coverage 46.58% (285469/612866)
Region Coverage 42.15% (225731/535573)
Branch Coverage 43.77% (105290/240577)

@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@eldenmoon

Copy link
Copy Markdown
Member Author

run cloud_p0

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 61.85% (27328/44181)
Line Coverage 46.55% (285300/612866)
Region Coverage 42.15% (225727/535573)
Branch Coverage 43.75% (105262/240577)

@eldenmoon

Copy link
Copy Markdown
Member Author

run nonConcurrent

@eldenmoon

Copy link
Copy Markdown
Member Author

run cloud_p0

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run cloud_p0

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run cloud_p0

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@yiguolei
yiguolei merged commit 148052e into apache:branch-4.1 Nov 10, 2026
23 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants