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

   ### What problem does this PR solve?
   
   CIR-22588: after a full compaction, a VARIANT row's non-null sparse values 
(`tag-labeling.text_info.open.tag_id/tag_name`) became NULL in the materialized 
subcolumns and were removed from sparse, so the values disappeared from the 
output segment. The compaction path promotes sparse paths by a raw-byte 
`lower_bound`; sparse keys written in component order were missed and then 
dropped by the merge.
   
   ### What does this PR do?
   
   Adds a regression suite only (no production code change). With the 
byte-ordered sparse writer (#70189) and the exact-cell promotion (#70212), the 
suite:
   
   - writes the customer's six-row shape into a V2 table with 
`variant_max_subcolumns_count=2` and MOW;
   - runs a full compaction on the tablet;
   - asserts that row 1 still returns `tag_id`/`tag_name`/the parent object 
after compaction, and that control rows 3/4 are intact.
   
   The suite forces `enable_variant_v2=true` with `setFeConfigTemporary`, since 
the issue is specific to the V2 sparse Map.
   
   ### Verification
   
   - Passes on the fixed 4.1 V2 build (`sparse_promotion_compaction`, 
before/after/control all match).
   - The same suite is added to the selectdb cloud hotfix branch and is run 
there as well.
   - On the pre-fix build (8db76466) the after-compaction row 1 is NULL, so the 
suite catches the regression.
   


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