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]

Reply via email to