gnodet commented on PR #28147: URL: https://github.com/apache/camel/pull/28147#issuecomment-6366654842
Fixed the `RouteStopCutOffLogTest` regression introduced by the `doStop()` correction. **Root cause:** The PR correctly fixes `MulticastProcessor.doStop()` to pass `errorHandlers.values()` instead of the raw `Map` — this makes `ServiceHelper.stopService(...)` actually stop the cached per-branch error handlers (previously it was silently a no-op because `Map` doesn't implement `Iterable`). However, this exposed a gap in `SimpleTask.runNotAllowed()`. The execution path that now applies when an error handler is properly stopped: - **Before fix (main):** `isStoppingOrStopped()=false` → `isInterrupted()=true` → `runInterrupted()` → sets `routeStop=true`, propagates up to route-level error handler → route-level handler calls `logCutOffByRouteStop()` → **WARN logged** ✓ - **After fix (PR, broken):** `isStoppingOrStopped()=true` → `runNotAllowed()` → does NOT call `logCutOffByRouteStop()` → **no WARN** ✗ - **After this commit:** `runNotAllowed()` now calls `logCutOffByRouteStop()` when the exchange already carries a `RouteStoppingException` (real interruption) and is not marked as `interrupted` (to avoid double-logging vs the interrupted sub-exchange path). All 3 tests in `RouteStopCutOffLogTest` pass locally (verified with `mvn test -pl core/camel-core`). -- 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]
