Skip to content

to 3.0: refactor(objectio): keep zonemap for hidden rowid and ts columns#23850

Merged
mergify[bot] merged 3 commits intomatrixorigin:3.0-devfrom
gouhongshen:pxu-hidden-cols-zm-only-to-3.0
Mar 18, 2026
Merged

to 3.0: refactor(objectio): keep zonemap for hidden rowid and ts columns#23850
mergify[bot] merged 3 commits intomatrixorigin:3.0-devfrom
gouhongshen:pxu-hidden-cols-zm-only-to-3.0

Conversation

@gouhongshen
Copy link
Contributor

@gouhongshen gouhongshen commented Mar 16, 2026

What type of PR is this?

  • API-change
  • BUG
  • Improvement
  • Documentation
  • Feature
  • Test and CI
  • Code Refactoring

Which issue(s) this PR fixes:

issue ##23820

What this PR does / why we need it:

  1. Keep zonemap generation for hidden rowid and commit_ts columns in non-tombstone schema data on 3.0-dev.
  2. Skip NDV/HLL and null-count aggregation for those hidden columns to avoid unnecessary metadata overhead.
  3. Initialize object-level zonemap aggregation even when InspectVector is skipped.
  4. Add focused tests covering builder-level zonemap updates and write-read verification, and keep the 8192-row microbenchmark for hidden-column overhead analysis.

Tests

  1. go test ./pkg/objectio/ioutil -run 'TestObjectColumnMetasBuilderUpdateZmWithoutInspect|TestHiddenColumnsZoneMapPersistedAfterWriteAndRead' -count=1
  2. go test ./pkg/objectio/ioutil -run TestNonExistent -bench BenchmarkHiddenColumnOverhead -benchmem -count=1

@gouhongshen gouhongshen changed the title refactor(objectio): keep zonemap for hidden rowid and ts columns to 3.0: refactor(objectio): keep zonemap for hidden rowid and ts columns Mar 16, 2026
@matrix-meow matrix-meow added the size/M Denotes a PR that changes [100,499] lines label Mar 16, 2026
@mergify mergify bot added the queued label Mar 18, 2026
@mergify
Copy link
Contributor

mergify bot commented Mar 18, 2026

Merge Queue Status

  • Entered queue2026-03-18 07:40 UTC · Rule: release-3.0
  • Checks passed · in-place
  • Merged2026-03-18 08:31 UTC · at 0b130d21b535756eae28ae0d55b2bd6ec85a08de

This pull request spent 51 minutes 9 seconds in the queue, including 50 minutes 56 seconds running CI.

Required conditions to merge
  • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Utils CI (3.0) / Coverage
    • check-neutral = Matrixone Utils CI (3.0) / Coverage
    • check-skipped = Matrixone Utils CI (3.0) / Coverage
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone CI (3.0) / SCA Test on Ubuntu/x86
    • check-neutral = Matrixone CI (3.0) / SCA Test on Ubuntu/x86
    • check-skipped = Matrixone CI (3.0) / SCA Test on Ubuntu/x86
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone CI (3.0) / UT Test on Ubuntu/x86
    • check-neutral = Matrixone CI (3.0) / UT Test on Ubuntu/x86
    • check-skipped = Matrixone CI (3.0) / UT Test on Ubuntu/x86
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Compose CI (3.0) / multi cn e2e bvt test docker compose(Optimistic/PUSH)
    • check-neutral = Matrixone Compose CI (3.0) / multi cn e2e bvt test docker compose(Optimistic/PUSH)
    • check-skipped = Matrixone Compose CI (3.0) / multi cn e2e bvt test docker compose(Optimistic/PUSH)
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Compose CI (3.0) / multi cn e2e bvt test docker compose(PESSIMISTIC)
    • check-neutral = Matrixone Compose CI (3.0) / multi cn e2e bvt test docker compose(PESSIMISTIC)
    • check-skipped = Matrixone Compose CI (3.0) / multi cn e2e bvt test docker compose(PESSIMISTIC)
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Standlone CI (3.0) / Multi-CN e2e BVT Test on Linux/x64(LAUNCH, PROXY)
    • check-neutral = Matrixone Standlone CI (3.0) / Multi-CN e2e BVT Test on Linux/x64(LAUNCH, PROXY)
    • check-skipped = Matrixone Standlone CI (3.0) / Multi-CN e2e BVT Test on Linux/x64(LAUNCH, PROXY)
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Standlone CI (3.0) / e2e BVT Test on Linux/x64(LAUNCH, PESSIMISTIC)
    • check-neutral = Matrixone Standlone CI (3.0) / e2e BVT Test on Linux/x64(LAUNCH, PESSIMISTIC)
    • check-skipped = Matrixone Standlone CI (3.0) / e2e BVT Test on Linux/x64(LAUNCH, PESSIMISTIC)
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Standlone CI (3.0) / e2e BVT Test on Linux/x64(LAUNCH,Optimistic)
    • check-neutral = Matrixone Standlone CI (3.0) / e2e BVT Test on Linux/x64(LAUNCH,Optimistic)
    • check-skipped = Matrixone Standlone CI (3.0) / e2e BVT Test on Linux/x64(LAUNCH,Optimistic)
  • any of [🛡 GitHub branch protection]:
    • check-success = Matrixone Upgrade CI (3.0) / Compatibility Test With Target on Linux/x64(LAUNCH)
    • check-neutral = Matrixone Upgrade CI (3.0) / Compatibility Test With Target on Linux/x64(LAUNCH)
    • check-skipped = Matrixone Upgrade CI (3.0) / Compatibility Test With Target on Linux/x64(LAUNCH)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/enhancement kind/refactor Code refactor size/M Denotes a PR that changes [100,499] lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants