oceanbase / oceanbase/seekdb

Metadata check fails after major freeze in `alter_cg_delayed.direct_load_with_cg_delayed` test case (introduced after 20260331)

Open
#808 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dima type: bug
Dominant language
C++
Stars
2.9k
Forks
339
Avg merge
1d 19h
Merged PRs (30d)
52

Description

Environment

  • Version: seekdb (OceanBase seekdb)
  • Build Info:
./bin/seekdb -V
Starting seekdb (OceanBase seekdb) source revision 1-86c590552f3c2eddc234225b5611a800d8f71898.
(null) (OceanBase seekdb)

REVISION: 1-86c590552f3c2eddc234225b5611a800d8f71898
BUILD_BRANCH: master
BUILD_TIME: May 11 2026 20:36:48
BUILD_FLAGS: RelWithDebInfo
BUILD_INFO:

Copyright (c) 2011-present OceanBase Inc.
  • Issue Introduced After: 2026-03-31
  • Platform: Mac OS

Description

After performing a tenant major freeze following a sequence of "delayed CG + append write", the metadata check for the lineitem1 tablet/sstable yields unexpected results.

Expected Behavior:
The metadata should reflect a columnar major sstable (CO_MAJOR) and multiple NORMAL_CG entries.

Actual Behavior:
The metadata only shows one MAJOR entry, and the row count changes from 28 to 1. This discrepancy is likely due to inconsistencies in how CG/sstables are exposed in system views, merged results, or naming conventions compared to the golden result, causing a mismatch in the mysqltest output length/content.

Steps to Reproduce

  1. Run the alter_cg_delayed.direct_load_with_cg_delayed test case using the following commands:
obd test mysqltest test_env \
  --mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest \
  --obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient \
  --init-only \
  --init-sql-dir=${OCEANBASE_HOME}/tools/deploy \
  --init-sql-files='init.sql,init_user.sql|root@sys|test'

obd test mysqltest test_env \
  --mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest \
  --obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient \
  --disable-reboot \
  --test-set=alter_cg_delayed.direct_load_with_cg_delayed
  1. The test fails due to the metadata mismatch described above.

Additional Context

  • The issue was introduced after 2026-03-31.
  • The test failure screenshot is available at the original internal link (not reproduced here).
  • For internal reference, the mapping between the "Target Branch" and "Iteration" properties can be found at: https://work.oceanbase-dev.com/automerge/iteration-branch-map

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Run the alter_cg_delayed.direct_load_with_cg_delayed mysqltest case using the commands in the issue and compare its metadata output with the expected result. Trace the metadata exposed for the lineitem1 tablet after the tenant major freeze; done means the output reports a CO_MAJOR sstable, multiple NORMAL_CG entries, and the expected row count.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, sql
Domain
databases, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.