Skip to content

config: add allow-same-cluster with a static routing validation - #6284

Open
3AceShowHand wants to merge 18 commits into
pingcap:release-nextgen-202603from
3AceShowHand:allow-same-cluster
Open

3AceShowHand wants to merge 18 commits into
pingcap:release-nextgen-202603from
3AceShowHand:allow-same-cluster

Conversation

@3AceShowHand

@3AceShowHand 3AceShowHand commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

What problem does this PR solve?

Issue Number: close #6285

Support copying data into separate databases within the same TiDB logical cluster through an explicit allow-same-cluster option, while preventing replication from writing back into the source range.

Table-level separation alone is insufficient: with a.t1 → b.t1_copy and b.t2 → c.t2_copy, the target tables are outside the filter, but replicating DROP DATABASE a would delete source database b.

What is changed and how it works?

  • Add the optional changefeed setting allow-same-cluster and its API v2 counterpart allow_same_cluster. The default same-cluster rejection remains unchanged.
  • Validate the effective configuration before this option takes effect on create, update, and resume. Invalid configurations return CDC:ErrInvalidReplicaConfig.
  • Require database isolation:
    1. Each complete schema.table filter rule must be covered by a routing matcher.
    2. Every matching route must send the source database outside the filter's database range, including database DDL and future databases.
    3. Routes overlapping on a source database must have identical target-schema expressions. Database DDL considers every matching schema rule, including rules with disjoint table matchers.
  • Parse each matcher into an individual validation entry. Check target overlap per entry and schema consistency between entries. Database isolation makes separate table-target conflict searches unnecessary; the witness search immediately skips fixed targets outside the source range.
  • Validate update requests on a cloned changefeed configuration so rejected requests cannot mutate coordinator state. The no-routing fixture explicitly clears dispatchers because CLI configuration updates merge with existing values.
  • Match runtime handling of rule padding and case sensitivity, preserving whitespace inside quoted names and parsing placeholders before normalizing target literals.

Accepted example: src.* → dst.*, when dst is outside the source database range. Rejected examples: src.t1 → src.t1_copy, the a → b → c source chain above, and *.orders → {schema}_backup.orders_copy.

Supported rule parts are literals, *, a single leading/trailing wildcard, and supported quoted names. Targets support literal text around one corresponding {schema} or {table} placeholder. Unsupported syntax is rejected. This is a conservative contract: coverage must come from a single matcher, and different schema expressions are rejected on overlapping source ranges even if they happen to produce the same name.

Review entry points:

  • pkg/check/same_cluster.go: parsing, coverage, database isolation, and schema-routing consistency.
  • pkg/check/same_cluster_runtime_test.go: comparison against the real filter and DDL router.
  • tests/integration_tests/same_upstream_downstream/: eight configurations covering normal CLI operations, rejected create/update requests, state checks, continued replication after rejected updates, and database CREATE/ALTER/DROP routing.
  • docs/design/2026-09-18-allow-same-cluster-gate-design.md: examples, supported inputs, and conservative limitations.

Check List

Tests

  • Unit tests: go test -race -tags=intest ./pkg/check -count=1 passed; failpoint injection was not enabled.
  • Configuration/API tests: go test ./pkg/config ./api/v2 -run 'TestReplicaConfig_AllowSameCluster|TestReplicaConfigConversion' -count=1 passed.
  • API/CLI regression tests passed with race detection: go test -race -tags=intest ./api/v2 ./cmd/cdc/cli -run 'TestRejectedUpdatePreservesChangefeedInfo|TestSameClusterUpdateConfigs|TestApplyChanges|TestChangefeedUpdateCli' -count=1. These verify rejected updates preserve stored configuration and all seven invalid fixtures produce their expected errors after CLI merging.
  • Integration tests: updated same_upstream_downstream; not executed locally. They use configuration files and CLI operations, with no direct metadata edits. Each rejected update is followed by a configuration query to confirm the original configuration is unchanged.
  • Checked all eight TOML configurations against the validator, exercised database DDL rewriting with the real router, and checked shell syntax and formatting.
  • make fmt and git diff --check passed.
  • Go benchmarks cover validation cost separately from integration tests.

Questions

Will it cause performance regression or break compatibility?

The option is new and disabled by default. Opt-in requires cross-database isolation; same-database table renaming is unsupported. Validation operates on configuration patterns at create/update/resume time, without the previous schema/table candidate cross product. Multi-rule configurations still require overlap checks.

Do you need to update user documentation, design documentation or monitoring documentation?

The design document describes the database-isolation contract and its limitations. User-facing documentation should explain the new option and supported routing configurations. No monitoring changes.

Release note

Add an opt-in allow-same-cluster option for replication into isolated databases within the same TiDB cluster.

Summary by CodeRabbit

  • New Features
    • Added an allow-same-cluster option for changefeeds, allowing replication within the same TiDB cluster when safe table routing is configured.
    • Added validation to require table routing that isolates replicated data from its source schemas.
    • Added API and configuration support for preserving this option across conversions.
  • Bug Fixes
    • Invalid same-cluster routing configurations are now rejected with clear validation errors.
  • Documentation
    • Added design guidance describing supported routing patterns and safety requirements.

@ti-chi-bot ti-chi-bot Bot added do-not-merge/needs-linked-issue release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Sep 18, 2026
@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: f7bca32e-29a8-40ef-aa36-b0b989f04371

📥 Commits

Reviewing files that changed from the base of the PR and between b907ea3 and d97a364.

📒 Files selected for processing (17)
  • docs/design/2026-09-18-allow-same-cluster-gate-design.md
  • pkg/check/cluster.go
  • pkg/check/cluster_test.go
  • pkg/check/same_cluster.go
  • pkg/check/same_cluster_bench_test.go
  • pkg/check/same_cluster_runtime_test.go
  • pkg/check/same_cluster_test.go
  • pkg/config/replica_config.go
  • pkg/config/replica_config_test.go
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster.toml
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster_all_schemas.toml
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster_narrow_route.toml
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster_same_schema.toml
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster_schema_ambiguity.toml
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster_source_schema_chain.toml
  • tests/integration_tests/same_upstream_downstream/conf/allow_same_cluster_unsupported.toml
  • tests/integration_tests/same_upstream_downstream/run.sh
💤 Files with no reviewable changes (1)
  • pkg/config/replica_config.go

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The change adds allow-same-cluster configuration, propagates it through API and internal models, validates routing isolation, skips the cluster identity check only after validation, and adds unit, benchmark, runtime, and integration coverage.

Changes

Same-cluster replication

Layer / File(s) Summary
Configuration propagation
api/v2/model.go, api/v2/model_test.go, pkg/config/changefeed.go, pkg/config/replica_config.go, pkg/config/*_test.go
Adds AllowSameCluster to API and internal configuration. Conversion, cloning, TOML decoding, and round-trip tests preserve the option.
Routing safety validation
pkg/check/same_cluster.go, pkg/check/same_cluster_test.go, pkg/check/same_cluster_runtime_test.go, pkg/check/same_cluster_bench_test.go, docs/design/...
Adds ValidateSameClusterRouting. It validates routing coverage, database isolation, target-schema consistency, supported patterns, case handling, and derived targets. Tests and benchmarks cover these rules.
Cluster check behavior
pkg/check/cluster.go, pkg/check/cluster_test.go
Validates routing when AllowSameCluster is enabled. A valid configuration skips the cluster identity check. Invalid routing returns the validation error.
Integration validation
tests/integration_tests/same_upstream_downstream/conf/*, tests/integration_tests/same_upstream_downstream/run.sh
Adds safe and unsafe routing fixtures. The integration flow verifies successful routed replication, rejected create and update operations, unchanged configuration after rejection, and database DDL routing.

Priority: ➖ Normal

Estimated code review effort: 4 (Complex) | ~60 minutes

Change: Feature · Severity of issue fixed: Medium

Sequence Diagram(s)

sequenceDiagram
  participant APIClient
  participant ChangefeedController
  participant ValidateSameClusterRouting
  participant UpstreamCluster
  APIClient->>ChangefeedController: Create or update with allow-same-cluster
  ChangefeedController->>ValidateSameClusterRouting: Validate filter and routing
  ValidateSameClusterRouting-->>ChangefeedController: Success or ErrInvalidReplicaConfig
  ChangefeedController->>UpstreamCluster: Skip identity rejection when valid
  UpstreamCluster-->>APIClient: Replicated routed data
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.07% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 56 functions across 14 files. (8 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The PR satisfies issue #6285. It adds allow-same-cluster and API v2 allow_same_cluster. The option defaults to false through the zero-valued internal configuration. Configuration conversion and cl…
Out of Scope Changes check ✅ Passed The changes stay within issue #6285. API propagation, configuration handling, routing safety validation, documentation, benchmarks, and unit and integration tests support the opt-in same-cluster repli…
Title check ✅ Passed The title clearly summarizes the main change: adding the allow-same-cluster option with static routing validation.
Description check ✅ Passed The description includes the required problem statement, issue reference, implementation details, tests, compatibility and documentation answers, and release note. It is complete and directly related …
Full details: Docstring Coverage

Explanation

Docstring coverage is 66.07% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 56 functions across 14 files. (8 skipped: 8 unsupported.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR

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

A rabbit reads each line,
The patch grows clear beneath the moon,
Small changes hop in place,
Tests guard the garden path,
Reviews bloom before the dawn.

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

@ti-chi-bot ti-chi-bot Bot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Sep 18, 2026
@3AceShowHand
3AceShowHand changed the base branch from master to release-nextgen-202603 September 18, 2026 08:37
@ti-chi-bot ti-chi-bot Bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Sep 18, 2026
TestReplicaConfig_AllowSameCluster now covers the whole path in pkg/config:
TOML decoding of the top-level `allow-same-cluster` option, Clone, and the
conversion to the ChangefeedConfig used by the upstream/downstream check.
The separate test in changefeed_test.go is removed.
@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test all

@ti-chi-bot

ti-chi-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown

@3AceShowHand: No jobs can be run with /test all.
The following commands are available to trigger required jobs:

/test pull-build-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-kafka-integration-light-next-gen
/test pull-cdc-kafka-integration-light-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-heavy-next-gen
/test pull-cdc-mysql-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-light-next-gen
/test pull-cdc-mysql-integration-light-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-heavy-next-gen
/test pull-cdc-pulsar-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-light-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-heavy-next-gen
/test pull-cdc-storage-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-light-next-gen
/test pull-cdc-storage-integration-light-next-gen-legacy-safepoint
/test pull-unit-test-next-gen

The following commands are available to trigger optional jobs:

/test pull-cdc-pulsar-integration-light-next-gen
Details

In response to this:

/test all

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.

…ster case

Mirror the table_route configuration: the case now maps
allow_same_cluster_src.t1 to allow_same_cluster_dst.t1_routed with
target-schema/target-table, so the sink writes into a schema which is not
matched by the filter and the changefeed cannot capture its own writes.
@3AceShowHand 3AceShowHand changed the title Allow same cluster config: add allow-same-cluster to allow changefeed operation when the downstream cluster is the same as the upstream Sep 18, 2026
@ti-chi-bot ti-chi-bot Bot added release-note-none Denotes a PR that doesn't merit a release note. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Sep 18, 2026
The nil argument checks and the inconsistent downstream keyspace-name error
are internal conditions, so use the predefined normalized error: callers now
get CDC:ErrInternalCheckFailed instead of a message-only error. The detail of
the keyspace error is passed as format arguments, no fmt.Sprintf at the call
site.
@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test all

@ti-chi-bot

ti-chi-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown

@3AceShowHand: No jobs can be run with /test all.
The following commands are available to trigger required jobs:

/test pull-build-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-kafka-integration-light-next-gen
/test pull-cdc-kafka-integration-light-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-heavy-next-gen
/test pull-cdc-mysql-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-light-next-gen
/test pull-cdc-mysql-integration-light-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-heavy-next-gen
/test pull-cdc-pulsar-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-light-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-heavy-next-gen
/test pull-cdc-storage-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-light-next-gen
/test pull-cdc-storage-integration-light-next-gen-legacy-safepoint
/test pull-unit-test-next-gen

The following commands are available to trigger optional jobs:

/test pull-cdc-pulsar-integration-light-next-gen
Details

In response to this:

/test all

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 commented Sep 18, 2026

Copy link
Copy Markdown

@coderabbitai[bot]: adding LGTM is restricted to approvers and reviewers in OWNERS files.

Details

In response to this:

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.

A changefeed which may replicate into the upstream cluster is only safe when
it cannot capture the writes of its own sink, that is route(S) & S = empty.

Gate 1: ReplicaConfig.ValidateAndAdjust rejects the option unless table
routing is enabled.
Gate 2: routing.ValidateSameClusterRouting, called from getVerifiedTables,
rejects a replicated table which no route rule matches, a rule which maps a
table to itself, and a route target which the filter replicates as well.

Unit tests cover both gates, and the integration test now also expects the
two rejections.
Describe the invariant route(S) & S = empty, the two enable-time gates, the
boundary for tables created after the changefeed, and the verification.
@ti-chi-bot ti-chi-bot Bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 18, 2026
The gate now searches for a witness table which the filter replicates and
whose routed target the filter replicates as well, and rejects the
configuration only when such a witness exists. It reasons about the patterns
instead of the tables known at that moment, so tables created later are
covered too, and every filter rule must be covered by some matcher with a
target. Pattern forms the decision cannot handle, such as negated rules and
"?" wildcards, are rejected as unsupported instead of being approximated.

The table level check in downstreamadapter/routing and its api/v2 wiring are
removed: with an exact decision they could never fire.
Record the invariant, the criteria the gate follows (reject only real
conflicts, cover future tables, one decision point, errors point at the
configuration), the supported input contract, and the known conservative
cases.
@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test next-gen

@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test pull-unit-test-next-gen

…raints

The constraint algebra (requirement with exact/head/tail, its merging, the
per-pattern requirement derivation and the satisfiability search) is replaced
by generating candidate names and verifying them against the source rule, the
matcher and the routed target. Verification keeps the decision sound, and the
generated atoms (literal text, required heads and tails, their combinations and
the boundary names which the substitution completes) keep it complete, so no
witness is missed and no safe configuration is rejected.

same_cluster.go drops from 599 to 460 lines and loses six abstractions. A new
test pins the boundary case where only a name shorter than the pattern text
witnesses the conflict.
`allow-same-cluster` used to skip the upstream/downstream verification on its
own, while the proof that skipping is safe lived in `ReplicaConfig` validation.
Any path which read a persisted configuration without re-running that
validation (resume, direct etcd edits) could therefore bypass the verification
without a proof.

`IsSameUpstreamDownstream` now runs `ValidateSameClusterRouting` on the
configuration in use before it honours the flag, so the flag can never disable
the verification on its own. The static validation moves from `pkg/config` to
`sink/../check`'s package as `check.ValidateSameClusterRouting`, next to the
verification it guards and named like the other static validations on master
(`ValidateActiveActiveTSOIndexes`, `ValidateNoStaticRouteConflict`). The config
layer no longer validates the flag: the CLI stops rejecting it locally and the
server rejects it while creating, updating or resuming a changefeed.

Helper names and log wording use verification instead of check.
@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test all

@ti-chi-bot

ti-chi-bot Bot commented Sep 18, 2026

Copy link
Copy Markdown

@3AceShowHand: No jobs can be run with /test all.
The following commands are available to trigger required jobs:

/test pull-build-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-kafka-integration-light-next-gen
/test pull-cdc-kafka-integration-light-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-heavy-next-gen
/test pull-cdc-mysql-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-light-next-gen
/test pull-cdc-mysql-integration-light-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-heavy-next-gen
/test pull-cdc-pulsar-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-light-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-heavy-next-gen
/test pull-cdc-storage-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-light-next-gen
/test pull-cdc-storage-integration-light-next-gen-legacy-safepoint
/test pull-unit-test-next-gen

The following commands are available to trigger optional jobs:

/test pull-cdc-pulsar-integration-light-next-gen
Details

In response to this:

/test all

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.

@3AceShowHand 3AceShowHand changed the title config: add allow-same-cluster to allow changefeed operation when the downstream cluster is the same as the upstream config: add allow-same-cluster with a static routing validation Sep 18, 2026
@ti-chi-bot ti-chi-bot Bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. release-note-none Denotes a PR that doesn't merit a release note. and removed release-note-none Denotes a PR that doesn't merit a release note. release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Sep 18, 2026
@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test next-gen

@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test pull-unit-test-next-gen

@ti-chi-bot ti-chi-bot Bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Sep 19, 2026
@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test all

@ti-chi-bot

ti-chi-bot Bot commented Sep 19, 2026

Copy link
Copy Markdown

@3AceShowHand: No jobs can be run with /test all.
The following commands are available to trigger required jobs:

/test pull-build-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-kafka-integration-light-next-gen
/test pull-cdc-kafka-integration-light-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-heavy-next-gen
/test pull-cdc-mysql-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-light-next-gen
/test pull-cdc-mysql-integration-light-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-heavy-next-gen
/test pull-cdc-pulsar-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-light-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-heavy-next-gen
/test pull-cdc-storage-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-light-next-gen
/test pull-cdc-storage-integration-light-next-gen-legacy-safepoint
/test pull-unit-test-next-gen

The following commands are available to trigger optional jobs:

/test pull-cdc-pulsar-integration-light-next-gen
Details

In response to this:

/test all

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 commented Sep 19, 2026

Copy link
Copy Markdown

@coderabbitai[bot]: adding LGTM is restricted to approvers and reviewers in OWNERS files.

Details

In response to this:

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 commented Sep 19, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: coderabbitai[bot]
Once this PR has been reviewed and has the lgtm label, please assign nongfushanquan for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

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 commented Sep 19, 2026

Copy link
Copy Markdown

@3AceShowHand: No jobs can be run with /test all.
The following commands are available to trigger required jobs:

/test pull-build-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-kafka-integration-light-next-gen
/test pull-cdc-kafka-integration-light-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-heavy-next-gen
/test pull-cdc-mysql-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-light-next-gen
/test pull-cdc-mysql-integration-light-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-heavy-next-gen
/test pull-cdc-pulsar-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-light-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-heavy-next-gen
/test pull-cdc-storage-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-light-next-gen
/test pull-cdc-storage-integration-light-next-gen-legacy-safepoint
/test pull-unit-test-next-gen

The following commands are available to trigger optional jobs:

/test pull-cdc-pulsar-integration-light-next-gen
Details

In response to this:

/test all

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.

@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test next-gen

@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test pull-unit-test-next-gen

@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test all

@ti-chi-bot

ti-chi-bot Bot commented Sep 19, 2026

Copy link
Copy Markdown

@3AceShowHand: No jobs can be run with /test all.
The following commands are available to trigger required jobs:

/test pull-build-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen
/test pull-cdc-kafka-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-kafka-integration-light-next-gen
/test pull-cdc-kafka-integration-light-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-heavy-next-gen
/test pull-cdc-mysql-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-mysql-integration-light-next-gen
/test pull-cdc-mysql-integration-light-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-heavy-next-gen
/test pull-cdc-pulsar-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-pulsar-integration-light-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-heavy-next-gen
/test pull-cdc-storage-integration-heavy-next-gen-legacy-safepoint
/test pull-cdc-storage-integration-light-next-gen
/test pull-cdc-storage-integration-light-next-gen-legacy-safepoint
/test pull-unit-test-next-gen

The following commands are available to trigger optional jobs:

/test pull-cdc-pulsar-integration-light-next-gen
Details

In response to this:

/test all

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.

@3AceShowHand

Copy link
Copy Markdown
Collaborator Author

/test pull-cdc-mysql-integration-light-next-gen
/test pull-unit-test-next-gen

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

Labels

do-not-merge/needs-linked-issue release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant