Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-2440

Configured heartbeats sometimes don't function in inter-cloud environments

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Information Provided
    • proton-c-0.35.0
    • None
    • proton-c
    • None

    Description

      The context is Qpid Dispatch Routers connected together with one router in Edge mode and the other in Interior mode. The router modes are probably not important for this issue. The connecting (client) router is running on a bare-metal Fedora Linux system in a container under Minikube. The listening router is running in a container in Microsoft Azure Kubernetes Service. There are unknown layers of networks and load balancers between the routers.

      The problem is that configured heartbeats sometimes don't occur. In other words, a trace on the connection shows no heartbeat (empty) frames flowing. Furthermore, when this happens, the connection is never closed due to lack of heartbeats.

      This lack of heartbeat protection often results in half-disconnected connections. When this happens, the client-side sees a connection error (usually related to TLS), closes the connection and reconnects with a new connection. The server-side sees no error and winds up with two live connections from the client, only one of which can actually carry messages to/from the client.

      Qpid Dispatch can work around this problem by establishing an application-level keepalive using message delivery.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tross Ted Ross
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: