TylerMurali opened a new pull request, #1865:
URL: https://github.com/apache/activemq/pull/1865
## Summary
Fixes #1864
- **Bug**: In `DemandForwardingBridgeSupport.start()`, the `onException()`
handlers for both local and remote transports return early when
`futureBrokerInfo` is not done, skipping
`serviceLocalException()`/`serviceRemoteException()`. This prevents the
reconnection chain (`fireBridgeFailed()` → `discoveryAgent.serviceFailed()`)
from firing, causing the bridge to silently die without reconnection.
- **Fix**: Remove the two `return` statements so the exception service
methods always fire. The future cancellation is preserved. This is a 2-line
change.
- **Evidence**: The `duplexInboundLocalBroker` handler in the same file
unconditionally calls `serviceLocalException()`, confirming the intended
behavior.
## Production Validation
Tested in production with 15 network connectors over 3.5 months. The bug
path was hit 12 times (transport exceptions during broker info handshake), and
all 12 resulted in successful reconnection after the fix. Prior to the fix,
these were permanent connector losses requiring broker restarts.
## Test Plan
- [x] New test `NetworkBridgeReconnectOnHandshakeFailureTest` with 2 test
cases:
- `testBridgeReconnectsAfterRemoteBrokerRestart` — single stop/restart
cycle
- `testBridgeReconnectsAfterMultipleRemoteBrokerRestarts` — 3 consecutive
stop/restart cycles
- [x] Existing tests pass: `DemandForwardingBridgeTest`,
`DemandForwardingBridgeSupportTest`, `NetworkReconnectTest`
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact