Uploaded image for project: 'AMQ Clients'
  1. AMQ Clients
  2. ENTMQCL-1781

Established connections are aborted after the system clock is shifted forward

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.6.0.B1
    • 2.5.0.GA
    • amqp-python-client
    • None
    • Yorba

      # 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) 
      

            jdanek@redhat.com Jiri Daněk
            jdanek@redhat.com Jiri Daněk
            Jiri Daněk Jiri Daněk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: