Skip to content

ci(seekdb): distribute native migrations across three shards - #2458

Merged
frf12 merged 1 commit into
oceanbase:masterfrom
AlexStocks:codex/2084-seekdb-ci-shards
Nov 5, 2026
Merged

frf12 merged 1 commit into
oceanbase:masterfrom
AlexStocks:codex/2084-seekdb-ci-shards

Conversation

@AlexStocks

Copy link
Copy Markdown
Contributor

Which issue or RFC does this PR close?

Follow-up acceptance for #2084; addresses the seekDB CI failure on #2004.

Rationale for this change

The final #2004 run failed code-seekdb (3.11, 0) because the unified-migration step exhausted its 25-minute total budget. Every completed native invocation passed; no invocation reached its 180-second deadline. With 39 collected nodes and two shards, the job still had nodes and stability repetitions remaining at the step deadline.

Failure log: https://github.com/oceanbase/powercontext/actions/runs/41780344706/job/126426207866

What changes are included in this PR?

Distribute the same nodes across three shards per Python version instead of two. Keep the preliminary migration tests, the two additional baseline-adoption stability executions, diagnostics, and all existing deadlines (180 seconds per node, 25 minutes per step, 60 minutes per job).

Are there any user-facing changes?

CI scheduling only. No runtime, persistence, API, release-support policy, or test-selection changes.

How was this change tested?

  • pytest tests/test_ci_changes.py tests/test_ci_pipeline.py -q: 125 passed.
  • Collected all 39 seekDB runner nodes and verified the three shards contain 13 nodes each, with the exact union and no duplicates.
  • Replayed the complete Python 3.11 shard 0, including the original 35-test prelude, all 13 selected native nodes through the existing isolated runner, and both extra baseline stability executions: passed in 1041.98 seconds against the unchanged 1500-second total budget.
  • Changed-file pre-commit hooks and full Linux ty check: passed.
  • Local native replay establishes this shard's result; GitHub's complete six-job matrix remains a separate CI check.

AI usage statement

OpenAI Codex assisted with investigation, implementation, and validation.

PR oceanbase#2004 exhausted the 25-minute step after passing individual native
cases. Spread all 39 nodes over three shards for each supported CI Python
version; retain the preliminary checks and baseline stability repetitions.

Constraint: Keep the 180-second node, 25-minute step and 60-minute job budgets.
Scope-risk: CI scheduling only; no test selection or runtime behavior changes.
Tested: pytest tests/test_ci_changes.py tests/test_ci_pipeline.py -q (125 passed); exact 39-node partition; full Python 3.11 shard 0 replay including prelude and baseline repetitions passed in 1041.98 seconds.
@AlexStocks
AlexStocks requested a review from PsiACE as a code owner November 4, 2026 08:22
Copilot AI balanced review requested due to automatic review settings November 4, 2026 08:22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues are identified for the migration-test sharding change.

No open issues 🎉

What changed in this PR

This PR spreads seekDB native migration tests across three shards per Python version to reduce step-timeout risk following the CI failure on #2004.

Changes:

  • Expands the shard matrix from two to three shards.
  • Updates test-node distribution to use modulo three.
  • Preserves test selection, preliminary tests, stability repetitions, diagnostics, and existing deadlines.
File Description
.github/​workflows/​master.yml Expands the seekDB matrix and adjusts node distribution for three migration shards.

Review effort: Balanced

@hidb4ai hidb4ai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 5190979. No blocking issues found. The three-shard matrix and matching modulo preserve complete, disjoint migration-node coverage, the preliminary tests, stability repetitions, and existing deadlines. No database tables or public interfaces are added. The complete six-job seekDB CI matrix remains pending.

AlexStocks added a commit to AlexStocks/powercontext that referenced this pull request Nov 4, 2026
The SQLite cleanup PR still used two migration shards and its Python 3.11
shard 0 exhausted the 25-minute unified-migration step. Merge the companion
CI commit from oceanbase#2458 so this PR validates the three-shard layout itself.

Constraint: Preserve all native cases, stability repeats and existing deadlines.
Scope-risk: Merge only the two-line workflow change; SQLite source and managed policy bytes are unchanged.
Tested: Combined CI classification/pipeline and SQLite profile/CLI suites: 190 passed with thread exceptions treated as errors; changed-file hooks and full Linux ty check passed.

@frf12 frf12 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 5190979. No blocking findings. The matrix and modulo change preserve complete, disjoint migration coverage, shard-zero prerequisites and stability repetitions, and existing deadlines. The six-job SeekDB matrix and CI result have passed.

@frf12
frf12 merged commit 4b50c15 into oceanbase:master Nov 5, 2026
106 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

1.5.1 v1.5.1 release tracking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants