allthingssecurity commented on PR #26867: URL: https://github.com/apache/camel/pull/26867#issuecomment-5865989658
@oscerd thanks. Rebased on main (1dd20e756, includes #26859 / CAMEL-25001); the rebase was clean (both commits kept in order). Re-verified against the merged code: - CAMEL-25001 only added `exhausted.remove(route)` to `RouteManager.release()`. `start(RouteHolder)`, the attempt, and the completion consumer are unchanged, so both fixes apply to the same code paths as before, with no adjustment needed. - `release()` still runs under the controller lock (from `doStartRoute`/`doStopRoute`) and calls `task.cancel()` there, so the lock-order inversion that CAMEL-25008 removes is still present on main. Removing a route from `exhausted` does not touch `routes`, so `routes.remove(r, task)` (CAMEL-25007) is still the only thing that keeps a newer task from being dropped. Tests on the rebased head (0f6f41245): - `SimpleBackOffTimerTest`, `DefaultSupervisingRouteControllerStartWhileRestartingTest`, and all `*Supervising*` / `*RouteController*` / `*BackOff*` tests in camel-util, camel-core, camel-management and camel-console (including the new `DefaultSupervisingRouteControllerExhaustedStartTest`) pass. - Negative controls on the rebased code: reverting only `routes.remove(r, task)` fails `StartWhileRestartingTest` (the new task is `null`). Reverting only the `BackOffTimerTask.complete()` change fails `testCancelWhileCompletionCallbackWaitsForLock` with a `TimeoutException` (deadlock). - Merging this branch with #26868 gives no conflict, and the same suites pass on the combined code. _Claude Code on behalf of allthingssecurity_ -- 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]
