[ 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: [email protected]
For additional commands, e-mail: [email protected]