-
Bug
-
Resolution: Done
-
Major
-
2.5.0.GA
-
None
# systemctl stop systemd-timesyncd
Use the dispatch router as the other peer.
$ router/qdrouterd
Get cli-proton-python and start it. https://github.com/rh-messaging/cli-proton-python
$ python3 -m venv py3venv $ source py3venv/bin/activate $ pip install cli-proton-python $ PN_TRACE_FRM=1 cli-proton-python-sender --conn-heartbeat=5
Wait a moment, then change time going forward and connection then fails. If you move it backward instead, heartbeats stop flowing.
# date --set='+30 minutes'
Observe the following connection failure
[0xd52320]: -> SASL [0xd52320]: <- SASL [0xd52320]:0 <- @sasl-mechanisms(64) [sasl-server-mechanisms=@PN_SYMBOL[:ANONYMOUS]] [0xd52320]:0 -> @sasl-init(65) [mechanism=:ANONYMOUS, initial-response=b"anonymous@nixos"] [0xd52320]:0 <- @sasl-outcome(68) [code=0] [0xd52320]: -> AMQP [0xd52320]:0 -> @open(16) [container-id="f08a85b3-cc37-4bb8-8e6e-b6d37f9b16d1", hostname="localhost", channel-max=32767, idle-time-out=2500] [0xd52320]:0 -> @begin(17) [next-outgoing-id=0, incoming-window=2147483647, outgoing-window=2147483647] [0xd52320]:0 -> @attach(18) [name="f08a85b3-cc37-4bb8-8e6e-b6d37f9b16d1-examples", handle=0, role=false, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0, timeout=0, dynamic=false], target=@target(41) [address="examples", durable=0, timeout=0, dynamic=false], initial-delivery-count=0, max-message-size=0] [0xd52320]: <- AMQP [0xd52320]:0 <- @open(16) [container-id="Standalone_gbWZVywsWJpo62K", max-frame-size=16384, channel-max=32767, idle-time-out=8000, offered-capabilities=:"ANONYMOUS-RELAY", properties={:product="qpid-dispatch-router", :version="1.10.0-SNAPSHOT", :"qd.conn-id"=4}] [0xd52320]:0 <- @begin(17) [remote-channel=0, next-outgoing-id=0, incoming-window=2147483647, outgoing-window=2147483647] [0xd52320]:0 <- @attach(18) [name="f08a85b3-cc37-4bb8-8e6e-b6d37f9b16d1-examples", handle=0, role=true, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40) [durable=0, expiry-policy=:"session-end", timeout=0, dynamic=false], target=@target(41) [address="examples", durable=0, expiry-policy=:"session-end", timeout=0, dynamic=false], initial-delivery-count=0, max-message-size=0] [0xd52320]:0 <- (EMPTY FRAME) [0xd52320]:0 <- @close(24) [error=@error(29) [condition=:"amqp:resource-limit-exceeded", description="local-idle-timeout expired"]] [0xd52320]: <- EOS [0xd52320]:0 -> (EMPTY FRAME) ERROR {'cause' :'Connection error: local-idle-timeout expired ...'} [0xd52320]:0 -> @close(24) [] (py3venv)