Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-4210

Zookeeper c client: detect connection loss during opportunistic async send

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.7.0, 3.4.14, 3.6.2
    • Fix Version/s: 3.8.0
    • Component/s: c client
    • Environment:

      Observed on Linux 3.x 4.x 5.x Centos distributions.

      Description

      When an async operation is performed in the C client, the client will attempt to send the command to the server if this would not block.

      When this send reports an error (eg: EPIPE) this is reported up to the async message, but the return code is not stored and checked, making it impossible for the user of the c client library to identify this case.

      This can eventually trigger an assertion in some IO libraries, eg libev, because the file descriptor libev is watching is not associated with a valid stream. 

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                smikes Sam Mikes
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4h 50m
                  4h 50m