Uploaded image for project: 'Ratis'
  1. Ratis
  2. RATIS-1782

gRPC installSnapshot timeout handler malfunctioning

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Duplicate
    • 2.4.1
    • None
    • gRPC, snapshot
    • None

    Description

      When gRPC logAppender fails to install a snapshot to a follower owing to timeout, the onError callback will be invoked and resetClient is called. However, in this resetClient[1] handler, installSnapshotResponseHandler is not set to null (compared to  appendLogReponseHandler). In this way, pending RPCs in the old installSnapshot pipe will timeout and call the onError again sometime in the future, disrupting future on-going installSnapshot requests.

      [1] https://github.com/apache/ratis/blob/18eacaed31e4965a9c400d86409a88fea21fc18a/ratis-grpc/src/main/java/org/apache/ratis/grpc/server/GrpcLogAppender.java#L117-L120

      Attachments

        Issue Links

          Activity

            People

              tanxinyu Xinyu Tan
              William Song Song Ziyang
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: