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

Zookeeper c client: detect connection loss during opportunistic async send

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 3.7.0, 3.4.14, 3.6.2
    • 3.8.0
    • c client
    • 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

              Unassigned Unassigned
              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