DanielLeens commented on issue #12121: URL: https://github.com/apache/seatunnel/issues/12121#issuecomment-5663655219
Thanks for linking #12277. I rechecked the current `dev` path before making a scope decision: `TaskCallTimer#timeoutAct` calls `RunBusWorkSupplier.runNewBusWork(false)`, and the supplier uses a cached executor, so a timeout can indeed create another cooperative worker without a fixed admission budget. The PR is therefore on the right first boundary: an explicit budget decision wired into the actual promotion path, not a detached policy object. Please keep both new limits opt-in with default `0` / unlimited. A finite default would change the behavior of existing deployments without an established safe capacity contract, so it should not be introduced in this first fix. The current status is still blocked: #12277's Build check is failing. Please repair that before treating the implementation as ready for review. After CI is green, the review evidence needs to prove these invariants deterministically: (1) denied promotion does not create an extra worker yet a queue with its last serving worker still reaches readiness and completion; (2) global and per-job reservations are released on normal yield, failure, and cancellation, so another job can progress; and (3) leaving both limits at `0` preserves the existing unbounded path. Keep thread-pool log fields as diagnostic evidence only; a broader metrics contract can remain a later, separate discussion. -- 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]
