Uploaded image for project: 'Java DCP Client'
  1. Java DCP Client
  2. JDCP-117

Dead connection detection gives false positives when no streams are open

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.21.0
    • Labels:
      None
    • Story Points:
      1

      Description

      The server only sends NOOP requests after there has been a successful "open stream" request. However, the client erroneously expects NOOP requests even if no streams are open, leading to "Dead connection detected" messages and the connection being unnecessarily closed and reopened.

      This surfaces in the Kafka connector, where a worker task might need to open streams from only one Couchbase node in a multi-node cluster. In the current implementation, the DCP client still needs to open connections to all nodes in the Couchbase cluster in order to do persistence polling, and to properly respond to cluster topology changes, even if no streams are open on those nodes.

      The false positives have no known impact on correctness. However, needlessly closing connections is inefficient, and it's surprising to see these reconnection warnings in the log.

        Attachments

        For Gerrit Dashboard: JDCP-117
        # Subject Branch Project Status CR V

          Activity

          david.nault David Nault created issue -
          david.nault David Nault made changes -
          Field Original Value New Value
          Link This issue relates to CBSE-6271 [ CBSE-6271 ]
          david.nault David Nault made changes -
          Status New [ 10003 ] Open [ 1 ]
          david.nault David Nault made changes -
          Fix Version/s 0.21.0 [ 15607 ]
          david.nault David Nault made changes -
          Description The server only sends NOOP requests after there has been a successful "open stream" request. However, the client erroneously expects NOOP requests even if no streams are open, leading to "Dead connection detected" messages and the connection being unnecessarily closed and reopened.

          This surfaces in the Kafka connector, where a worker task might need to open streams from only one Couchbase node in a multi-node cluster. In the current implementation, the DCP client still needs to open connections to all nodes in the Couchbase cluster in order to properly respond to cluster topology changes, even if no streams are open on those nodes.

          The false positives have no known impact on correctness. However, needlessly closing connections is inefficient, and it's surprising to see these reconnection warnings in the log.
          The server only sends NOOP requests after there has been a successful "open stream" request. However, the client erroneously expects NOOP requests even if no streams are open, leading to "Dead connection detected" messages and the connection being unnecessarily closed and reopened.

          This surfaces in the Kafka connector, where a worker task might need to open streams from only one Couchbase node in a multi-node cluster. In the current implementation, the DCP client still needs to open connections to all nodes in the Couchbase cluster in order to do persistence polling, and to properly respond to cluster topology changes, even if no streams are open on those nodes.

          The false positives have no known impact on correctness. However, needlessly closing connections is inefficient, and it's surprising to see these reconnection warnings in the log.
          david.nault David Nault made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          david.nault David Nault made changes -
          Actual Start 2019-02-14 15:40 (issue has been started)
          david.nault David Nault made changes -
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Resolved [ 5 ]
          david.nault David Nault made changes -
          Actual End 2019-02-15 12:54 (issue has been resolved)
          brett19 Brett Lawson made changes -
          Story Points 1

            People

            Assignee:
            david.nault David Nault
            Reporter:
            david.nault David Nault
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes

                  PagerDuty