Skip to content

branch-4.2: [fix](be) Reject legacy Variant blocks before deserialization - #70473

Open
eldenmoon wants to merge 2 commits into
apache:branch-4.2from
eldenmoon:branch-pick-69434-4.2
Open

eldenmoon wants to merge 2 commits into
apache:branch-4.2from
eldenmoon:branch-pick-69434-4.2

Conversation

@eldenmoon

Copy link
Copy Markdown
Member

cherry-pick #69434

@eldenmoon
eldenmoon requested a review from yiguolei as a code owner November 11, 2026 09:05
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@eldenmoon

Copy link
Copy Markdown
Member Author

run compile

@eldenmoon

Copy link
Copy Markdown
Member Author

run p0

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

### What problem does this PR solve?

Related PR: apache#69434

Problem Summary: A 4.0 backend sends Variant V1 without a trailing
doc-value map. A 4.2 V1 receiver reads that map and can crash during
load or exchange. Use the presence of the existing doc-mode field to
reject the old layout before reading Variant bytes. Current V1 writers
set the field even with doc mode disabled. Variant V2 uses its existing
reader.

### Release note

A 4.2 backend reports an explicit error when it receives an incompatible
legacy Variant block during a mixed-version transfer.

### Check List (For Author)

- Test: clang-format 16 and git diff --check. Runtime validation is tracked in the PR.
- Behavior changed: Yes. Incompatible legacy Variant blocks return NotSupported.
- Does this need documentation: No
### What problem does this PR solve?

Related PR: apache#69434

Problem Summary: Check legacy V1 metadata rejection through a nullable
Variant inside a struct, including a Snappy block. Exercise 4.2 V1 in
both doc modes and V2 as successful controls.

### Release note

None

### Check List (For Author)

- Test: clang-format 16 and git diff --check. ASAN test execution is tracked in the PR.
- Behavior changed: No
- Does this need documentation: No
@eldenmoon
eldenmoon force-pushed the branch-pick-69434-4.2 branch from b699ea3 to 1373c02 Compare November 12, 2026 02:10
@eldenmoon

Copy link
Copy Markdown
Member Author

run buildall

@eldenmoon

Copy link
Copy Markdown
Member Author

run compile

1 similar comment
@eldenmoon

Copy link
Copy Markdown
Member Author

run compile

@eldenmoon

Copy link
Copy Markdown
Member Author

run feut

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run nonConcurrent

1 similar comment
@eldenmoon

Copy link
Copy Markdown
Member Author

run nonConcurrent

@eldenmoon

Copy link
Copy Markdown
Member Author

run nonconcurrent

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run nonConcurrent

@eldenmoon

Copy link
Copy Markdown
Member Author

run nonconcurrent

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

4 similar comments
@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run external

@eldenmoon

Copy link
Copy Markdown
Member Author

run nonConcurrent

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.

1 participant