[ https://issues.apache.org/jira/browse/PROTON-2900 ]
Marco Geri deleted comment on PROTON-2900: ------------------------------------ was (Author: JIRAUSER295325): After enabling the PN_TRACE_FMR=true, I noticed another strange behaviour. When setting "qpid.port.heartbeatDelay=10", QPID BrokerJ 9.2.1 does not disconnect the client after login, but the client sends an empty AMQP frame every 15 seconds as a heartbeat. BrokerJ doesn't disconnect the client due to inactivity because of QPID-8680, which causes it to consider the heartbeatDelay as half of the inactivity timeout before disconnecting the client. However, shouldn't ProtonJ2 send heartbeats according to the configured idleTimeout - that is, every 10 seconds? > `IdleTimeoutCheck` not rescheduled after broker's AMQP Open frame, causing > premature connection closure > ------------------------------------------------------------------------------------------------------- > > Key: PROTON-2900 > URL: https://issues.apache.org/jira/browse/PROTON-2900 > Project: Qpid Proton > Issue Type: Bug > Components: protonj2 > Affects Versions: protonj2-1.0.0-M23 > Reporter: Marco Geri > Assignee: Timothy A. Bish > Priority: Major > > While testing with BrokerJ 9.2.1 with AMQP 1.0 protocol, I configured the > broker to request heartbeats every 5 seconds using the setting > {{{}qpid.port.heartbeatDelay=5{}}}. > However, even with a simple login test (without sending any other messages), > the connection is closed by the broker after 10 seconds due to inactivity. It > appears that the client library does not send any idle (heartbeat) frames > during this time. > After a quick debugging session, it seems that the {{IdleTimeoutCheck}} in > the {{ProtonEngine}} is scheduled immediately with a timeout of 10 seconds, > before the AMQP Open frame from the broker is received. The Open frame from > the broker specifies a 5-second idle timeout, but the {{IdleTimeoutCheck}} is > *not* rescheduled after this frame is processed. > As a result, the client does not send heartbeat frames within the expected > timeframe, and the broker closes the connection due to inactivity. > *Note:* I ran the test using BrokerJ version 9.2.1, which includes a fix for > the {{heartbeatDelay}} parameter (see QPID-8680). -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org