[Test](bitmap) Harden BitmapValue serialization test#65491
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
/review |
|
run buildall |
There was a problem hiding this comment.
Automated review completed for PR #65491.
I did not find a substantiated blocking issue to raise as an inline comment. The PR is test-only and is focused on making bitmap serialization coverage deterministic where SET payload ordering depends on hash-set iteration, while keeping exact byte checks for deterministic encodings and adding historical SET decode cases.
Critical checkpoint conclusions:
- Goal and coverage: The changed tests exercise BitmapValue serialization for v1/v2 bitmap encodings, semantic SET round trips, historical SET payload order, SQL bitmap_from_base64 semantics, and doc-suite round-trip behavior. The current code accomplishes the stated test-hardening goal.
- Scope: The PR is small and limited to bitmap serialization tests and expected output files.
- Concurrency, lifecycle, persistence, data writes, and FE/BE protocol: No production code paths are changed, so these checkpoints are not materially affected.
- Configuration/session behavior: The new BitmapValue serde test saves and restores both bitmap config values it mutates. Existing function tests still use config::set_config as before; the new assertions do not introduce a distinct leak.
- Parallel paths: Unit coverage and regression coverage both exercise bitmap_to_base64/bitmap_from_base64 round trips; fixed historical bytes cover from_base64 decode semantics independently from nondeterministic SET serialization order.
- Expected results: The added regression outputs match fixed decode inputs. bitmap_to_string sorts SET contents before printing, so the new outputs are deterministic.
- Performance and observability: Not applicable for this test-only change.
Subagent conclusions:
- optimizer-rewrite: NO_NEW_VALUABLE_FINDINGS in the initial pass and final convergence round.
- tests-session-config: NO_NEW_VALUABLE_FINDINGS in the initial pass and final convergence round.
- No subagent candidates were accepted, dismissed as duplicates, or converted into inline comments.
User focus points: No additional user-provided review focus was supplied.
Validation performed: reviewed the GitHub PR file list and patch, inspected related BitmapValue and bitmap function code paths, verified no existing inline review comments, and ran a scoped git diff --check over the five GitHub-reported PR files. I did not run BE unit tests or regression tests because this checkout is missing .worktree_initialized, thirdparty/installed, and thirdparty/installed/bin/protoc; the review is therefore static plus lightweight diff validation.
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
TPC-H: Total hot run time: 29261 ms |
TPC-DS: Total hot run time: 180287 ms |
ClickBench: Total hot run time: 24.96 s |
Release note
Strengthen BitmapValue serialization tests for deterministic and non-deterministic formats.
Keep exact byte assertions for non-SET bitmap encodings.
Add fixed historical SET binary inputs and verify deserialized bitmap contents semantically.
Avoid pinning bitmap_to_base64 output for SET because hash-set iteration order makes serialized bytes unstable.