Skip to content

OWNERS: sync master to release-8.5 - #68873

Closed
ti-chi-bot wants to merge 0 commit into
release-8.5from
bot/sync-owners-to-release-8.5
Closed

ti-chi-bot wants to merge 0 commit into
release-8.5from
bot/sync-owners-to-release-8.5

Conversation

@ti-chi-bot

@ti-chi-bot ti-chi-bot commented Jun 2, 2026

Copy link
Copy Markdown
Member

What problem does this PR solve?

Sync OWNERS* files from master to release-8.5.

What changed and how does it work?

This PR was auto-generated by Prow and only updates OWNERS and OWNERS_ALIASES files.

/release-note-none
skip-issue-check
lgtm
approved
cherry-pick-approved

Summary by CodeRabbit

  • Chores
    • Updated code ownership configuration and approval assignments across multiple project components
    • Restructured approval rules from explicit lists to pattern-based filters for improved scalability
    • Expanded and revised team membership lists for component-specific approver and reviewer groups
    • Added code ownership designations for previously uncovered directories

@ti-chi-bot ti-chi-bot added approved cherry-pick-approved Cherry pick PR approved by release team. lgtm skip-issue-check Indicates that a PR no need to check linked issue. labels Jun 2, 2026
@ti-chi-bot

ti-chi-bot Bot commented Jun 2, 2026

Copy link
Copy Markdown

Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@ti-chi-bot ti-chi-bot Bot added do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. sig/planner SIG: Planner and removed approved labels Jun 2, 2026
@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR refactors TiDB's code approval governance by converting the root OWNERS file to filter-based routing rules and substantially expanding SIG membership lists in OWNERS_ALIASES. It then propagates ownership configuration across package hierarchies through new OWNERS files in executor subdirectories, critical system packages, and component-specific modules, each designating appropriate SIG approver groups.

Changes

Ownership Infrastructure Restructuring

Layer / File(s) Summary
Root OWNERS and SIG alias definitions
OWNERS, OWNERS_ALIASES
Root OWNERS switches to filter-based rules routing by path (go.mod to critical-approvers-dep, others to community approvers/reviewers). OWNERS_ALIASES expands SIG membership lists significantly, introducing new sig-approvers-stats and sig-critical-approvers-dep aliases, and broadening community/approver group memberships.
Executor module ownership hierarchy
pkg/executor/OWNERS, pkg/executor/aggfuncs/OWNERS, pkg/executor/aggregate/OWNERS, pkg/executor/join/OWNERS, pkg/executor/mppcoordmanager/OWNERS, pkg/executor/sortexec/OWNERS, pkg/executor/unionexec/OWNERS, pkg/executor/test/analyzetest/OWNERS
Root executor OWNERS enables analyze-stats routing with sig-approvers-stats. Executor subdirectories establish no-parent inheritance with sig-approvers-executor as the unified approver. The analyzetest subdirectory uses sig-approvers-stats to match root executor rules.
Critical system package ownership
pkg/session/OWNERS, pkg/meta/metadef/OWNERS, pkg/lightning/config/OWNERS, pkg/sessionctx/vardef/OWNERS
Session, meta, lightning, and sessionctx packages configure path-based routing with critical-approvers groups (tidb-server, tidb-lightning) for system tables and upgrade definitions, supplemented by ddl and meta approvers for other upgrade/bootstrap paths.
Component-specific package ownership
pkg/ingestor/OWNERS, pkg/metrics/OWNERS, pkg/statistics/OWNERS, pkg/util/naming/OWNERS
Ingestor, metrics, statistics, and util/naming packages enable no-parent inheritance with component-specific approvers: ddl for ingestor and naming, metrics for metrics, and stats for statistics. Statistics also adds a component/statistics label.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • pingcap/tidb#68706: Both PRs modify core Kubernetes OWNERS/OWNERS_ALIASES approval configuration, rewriting member lists for sig-community-* and sig-approvers-* groups.
  • pingcap/tidb#67717: Both PRs update OWNERS/OWNERS_ALIASES with SIG membership expansions including overlapping approver aliases and user additions.
  • pingcap/tidb#68707: Both PRs modify Kubernetes CODEOWNERS/OWNERS metadata, restructuring approval rules and membership across ownership configuration files.

Suggested labels

size/L, release-note-none

Suggested reviewers

  • windtalker
  • wshwsh12

Poem

🐰 A rabbit's ode to governance refined,
Where paths route approvers, rules realigned,
SIGs expand their ranks so wide,
Each package gets a guide,
From executor's grace to meta's pride!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'OWNERS: sync master to release-8.5' clearly and concisely describes the main change: syncing OWNERS files from master to the release branch.
Description check ✅ Passed The PR description adequately explains the purpose (syncing OWNERS files), what changed (only OWNERS and OWNERS_ALIASES files), and includes relevant metadata, though it omits the formal template structure.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bot/sync-owners-to-release-8.5

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@OWNERS`:
- Around line 4-11: The go\.mod$ and .* filters overlap so both match go.mod and
aggregate approvers; update the OWNERS filters to be mutually exclusive by
narrowing the catch-all rule (the .* entry) so it does not match go.mod or by
replacing it with a non-overlapping fallback (e.g., exclude go\.mod via a
negative lookahead or list explicit file patterns), ensuring go\.mod$ only has
sig-critical-approvers-dep and the catch-all only applies to other files.

In `@pkg/session/OWNERS`:
- Around line 3-10: The OWNERS config currently sets no_parent_owners: true and
only two narrow filters, leaving other files without approvers; add a catch-all
rule so every file has reviewers—either add a top-level approvers list or append
a filter like ".*" (or "(^|/).*") with an appropriate approver group (e.g.,
sig-critical-approvers-tidb-server or another team) so any file not matched by
the existing patterns gets an approver; update the filters block (or add
top-level approvers) and ensure the new rule sits after the specific filters to
act as the default.

In `@pkg/sessionctx/vardef/OWNERS`:
- Around line 3-7: The OWNERS file only assigns approvers for the regex
"(OWNERS|(sysvar|tidb_vars)\\.go)$" and with no_parent_owners: true all other
files in pkg/sessionctx/vardef are left unowned; add a catch‑all filter (for
example a key with regex "^.*$" or similar) under filters and assign the
appropriate approvers (e.g. - sig-critical-approvers-tidb-server) so files not
matched by "(OWNERS|(sysvar|tidb_vars)\\.go)$" have fallback approvers; keep the
existing specific filter and no_parent_owners setting intact.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: cd6b45a7-5620-48be-9dd3-749044cb75f1

📥 Commits

Reviewing files that changed from the base of the PR and between e198e2d and 27f9ab3.

📒 Files selected for processing (20)
  • OWNERS
  • OWNERS_ALIASES
  • pkg/dxf/OWNERS
  • pkg/executor/OWNERS
  • pkg/executor/aggfuncs/OWNERS
  • pkg/executor/aggregate/OWNERS
  • pkg/executor/join/OWNERS
  • pkg/executor/mppcoordmanager/OWNERS
  • pkg/executor/sortexec/OWNERS
  • pkg/executor/test/analyzetest/OWNERS
  • pkg/executor/unionexec/OWNERS
  • pkg/ingestor/OWNERS
  • pkg/lightning/config/OWNERS
  • pkg/meta/metadef/OWNERS
  • pkg/metrics/OWNERS
  • pkg/objstore/OWNERS
  • pkg/session/OWNERS
  • pkg/sessionctx/vardef/OWNERS
  • pkg/statistics/OWNERS
  • pkg/util/naming/OWNERS

Comment thread OWNERS Outdated
Comment on lines +4 to +11
go\.mod$:
approvers:
- sig-critical-approvers-dep
.*:
approvers:
- sig-community-approvers
reviewers:
- sig-community-reviewers

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

In Kubernetes/Prow OWNERS files, when a file matches both go.mod$and.*underfilters, are approvers/reviewers combined from both matching filters or is one filter selected?

💡 Result:

In Kubernetes/Prow OWNERS files, when multiple filters match a file path (such as both go\.mod$ and .*), the approvers and reviewers are combined from all matching filters [1]. Prow's repoowners logic processes filters by identifying all regular expressions that match the given file path [1]. Rather than selecting only the "best" or first match, the system aggregates the ownership configurations—including approvers and reviewers—from every matching entry [1]. This ensures that if a file is covered by both a specific rule (e.g., matching a file extension) and a catch-all rule (e.g., .*), the union of all listed owners is applied to that file [1].

Citations:


Major: Overlapping OWNERS filters cause go.mod to include community approvers/reviewers too

In OWNERS (lines 4-11), go\.mod$ and the catch-all .* both match go.mod; Prow’s repoowners aggregates approvers/reviewers from all matching filters, so sig-community-approvers/sig-community-reviewers will be added in addition to sig-critical-approvers-dep (https://github.com/kubernetes-sigs/prow/blob/master/pkg/repoowners/repoowners.go). Make the filters mutually exclusive (e.g., narrow the .* pattern so it does not match go.mod, or replace it with a non-overlapping fallback rule).

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@OWNERS` around lines 4 - 11, The go\.mod$ and .* filters overlap so both
match go.mod and aggregate approvers; update the OWNERS filters to be mutually
exclusive by narrowing the catch-all rule (the .* entry) so it does not match
go.mod or by replacing it with a non-overlapping fallback (e.g., exclude go\.mod
via a negative lookahead or list explicit file patterns), ensuring go\.mod$ only
has sig-critical-approvers-dep and the catch-all only applies to other files.

Comment thread pkg/session/OWNERS Outdated
Comment on lines +3 to +10
no_parent_owners: true
filters:
"(OWNERS|bootstrap\\.go)$":
"(OWNERS|upgrade_def\\.go)$":
approvers:
- sig-critical-approvers-tidb-server

"(bootstrap\\.go|upgrade_run\\.go)$":
approvers:
- sig-approvers-ddl

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Add a default ownership rule to avoid uncovered files.

no_parent_owners: true plus only two narrow filters leaves non-matching files in pkg/session without local approvers. Add a catch-all filter (or top-level approvers) so every file remains reviewable.

Suggested fix
 filters:
   "(OWNERS|upgrade_def\\.go)$":
     approvers:
       - sig-critical-approvers-tidb-server
   "(bootstrap\\.go|upgrade_run\\.go)$":
     approvers:
       - sig-approvers-ddl
+  ".*":
+    approvers:
+      - sig-approvers-ddl
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/session/OWNERS` around lines 3 - 10, The OWNERS config currently sets
no_parent_owners: true and only two narrow filters, leaving other files without
approvers; add a catch-all rule so every file has reviewers—either add a
top-level approvers list or append a filter like ".*" (or "(^|/).*") with an
appropriate approver group (e.g., sig-critical-approvers-tidb-server or another
team) so any file not matched by the existing patterns gets an approver; update
the filters block (or add top-level approvers) and ensure the new rule sits
after the specific filters to act as the default.

Comment thread pkg/sessionctx/vardef/OWNERS Outdated
Comment on lines +3 to +7
no_parent_owners: true
filters:
"(OWNERS|(sysvar|tidb_vars)\\.go)$":
approvers:
- sig-critical-approvers-tidb-server

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Define fallback approvers for files outside the critical-file regex.

With no_parent_owners: true, this file currently assigns approvers only for OWNERS, sysvar.go, and tidb_vars.go. Other files in pkg/sessionctx/vardef can become unowned.

Suggested fix
 filters:
   "(OWNERS|(sysvar|tidb_vars)\\.go)$":
     approvers:
       - sig-critical-approvers-tidb-server
+  ".*":
+    approvers:
+      - sig-approvers-meta
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
no_parent_owners: true
filters:
"(OWNERS|(sysvar|tidb_vars)\\.go)$":
approvers:
- sig-critical-approvers-tidb-server
no_parent_owners: true
filters:
"(OWNERS|(sysvar|tidb_vars)\\.go)$":
approvers:
- sig-critical-approvers-tidb-server
".*":
approvers:
- sig-approvers-meta
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/sessionctx/vardef/OWNERS` around lines 3 - 7, The OWNERS file only
assigns approvers for the regex "(OWNERS|(sysvar|tidb_vars)\\.go)$" and with
no_parent_owners: true all other files in pkg/sessionctx/vardef are left
unowned; add a catch‑all filter (for example a key with regex "^.*$" or similar)
under filters and assign the appropriate approvers (e.g. -
sig-critical-approvers-tidb-server) so files not matched by
"(OWNERS|(sysvar|tidb_vars)\\.go)$" have fallback approvers; keep the existing
specific filter and no_parent_owners setting intact.

@ti-chi-bot

ti-chi-bot Bot commented Jun 2, 2026

Copy link
Copy Markdown

@ti-chi-bot: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
pull-unit-test-ddlv1 27f9ab3 link true /test pull-unit-test-ddlv1

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@ti-chi-bot ti-chi-bot closed this Jun 3, 2026
@ti-chi-bot
ti-chi-bot force-pushed the bot/sync-owners-to-release-8.5 branch from 27f9ab3 to 0f820cb Compare June 3, 2026 06:34
@ti-chi-bot

ti-chi-bot Bot commented Jun 3, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot Bot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cherry-pick-approved Cherry pick PR approved by release team. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. lgtm sig/planner SIG: Planner size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. skip-issue-check Indicates that a PR no need to check linked issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant