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

Zookeeper c client: detect connection loss during opportunistic async send

Log workAgile BoardRank to TopRank to BottomAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          Activity

          $i18n.getText('security.level.explanation', $currentSelection) Viewable by All Users
          Cancel

            People

              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

                Issue deployment