zhangshenghang opened a new pull request, #11500: URL: https://github.com/apache/seatunnel/pull/11500
## Changes This PR contains two changes: ### 1. [Zeta] Default slot mode: dynamic -> static (breaking) Flip `dynamic-slot` default from `true` to `false` so Zeta defaults to **static slots** (worker pre-creates a fixed count at startup, default `2 × availableProcessors()` when `slot-num` is unset) instead of on-demand minting. - Code: `ServerConfigOptions.DYNAMIC_SLOT` default flipped; `SlotServiceConfig` inherits automatically. - Shipped YAMLs flipped to `dynamic-slot: false`: `seatunnel-engine-common`, `config/`, `deploy/kubernetes/`. - Docs (en + zh): static as default, dynamic as opt-in (separated/hybrid-cluster-deployment, resource-management, k8s-configuration). - Added `### Engine / Zeta` entry to `incompatible-changes.md` (en + zh) with migration guide. **Why `slot-num` default (`2 × CPU`) is unchanged:** in static mode `slot-num` only caps concurrent task groups per worker — static slots don't truly partition CPU/memory (each slot is a soft accounting slice of the heap; tasks request `CPU=0, Memory=0`, so the slice never binds matching). A fixed number oversubscribes small pods / underutilizes large boxes; a memory formula has no fixed denominator. **Breaking:** - Jobs relying on unbounded on-demand slots may now hit `NoEnoughResourceException` under the fixed cap (fails at submit under default `job-schedule-strategy: REJECT`). - `job-schedule-strategy: WAIT` now takes effect instead of being silently overridden to `REJECT` (which happened whenever `dynamic-slot: true`). - Rolling restart of a mixed dynamic/static cluster may schedule inconsistently; prefer a coordinated restart. - Audit packaged/helm/docker `seatunnel.yaml` that may hardcode `dynamic-slot: true`. Migration: set `seatunnel.engine.slot-service.dynamic-slot: true` to keep old behavior. > Community-level default change — happy to discuss on the dev mailing list before merge. ### 2. [Connector-V2] Remove duplicate `setNullToStatementByDataType` `AbstractJdbcRowConverter` declared two identical `setNullToStatementByDataType` methods (same signature and body), which caused a compilation error. Removed the duplicate. Unrelated to the slot change — can split into a separate PR if reviewers prefer. ## Verification - `./mvnw spotless:apply` — BUILD SUCCESS - `./mvnw -pl seatunnel-engine/seatunnel-engine-common -am -DskipTests verify` — PASS - `./mvnw install -DskipTests -pl seatunnel-connectors-v2/connector-jdbc -am` — PASS (after the fix) - grep confirmed no test asserts the old dynamic default without an explicit yaml override; all shipped YAMLs flipped to `false`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
