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

[c] Raw connection event DRAIN_BUFFERS never arrives

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • proton-c
    • None
    • Host: Fedora 5.10.16-100.fc32.x86_64;
      gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9)
      Proton git branch main @ 9bf7b7078.
      Dispatch git branch main @ 96182914 with patch shown in Description
      cmake debug build

    Description

      Adding support for the drain buffers event in qpid-dispatch reveals that the event never arrives in any of the qpid-dispatch tcp self tests. Grepping the logs shows 178 CONNECTION_CONNECTED events and 178 CONNECTION_DISCONNECTED events but no DRAIN_BUFFERS events.

       

      diff --git a/src/adaptors/tcp_adaptor.c b/src/adaptors/tcp_adaptor.c
      index 884d0a73..09c0ca9b 100644
      --- a/src/adaptors/tcp_adaptor.c
      +++ b/src/adaptors/tcp_adaptor.c
      @@ -705,6 +705,10 @@ static void handle_connection_event(pn_event_t *e, qd_server_t *qd_server, void
               while (qdr_connection_process(conn->qdr_conn)) {}
               break;
           }
      +    case PN_RAW_CONNECTION_DRAIN_BUFFERS: {
      +        qd_log(log, QD_LOG_CRITICAL, "[C%"PRIu64"] PN_RAW_CONNECTION_DRAIN_BUFFERS Event: %d", conn->conn_id, pn_event_type(e));
      +        break;
      +    }
           default:
               qd_log(log, QD_LOG_DEBUG, "[C%"PRIu64"] Unexpected Event: %d", conn->conn_id, pn_event_type(e));
               break;
      

      Attachments

        Activity

          People

            astitcher Andrew Stitcher
            chug Charles E. Rolke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: