SessionConnector.scheduledExecutorService is a single-threaded executor, and is used by all sessions for heartbeating. If there is a problem in one session, it can impact other sessions.
This is really QFJ-291 again. QFJ-291 was stated in terms of initiator reconnects, and the fix to it targeted that specific scenario. However, we have just encountered this problem in production involving only heartbeats. Heartbeating seems innocuous, but in fact has most of the same vulnerabilities as sending any other message (logging, toAdmin etc.).
|