Skip to content
  • Michael Whittaker's avatar
    Recovery & view change implementation + bug fixes. · 0cd92291
    Michael Whittaker authored
    Overview
    ========
    This PR implements the view change and recovery portion of IR. It also
    fixes a couple of important bugs and introduces a new mechanism with
    with to unit test IR.
    
    What's New?
    ===========
    This PR includes the following, in roughly descending order of
    importance:
    
    - The main contribution of this PR is the implementation of view changes
      and recovery. The implementation required some of the following
      things:
        - I introduce DoViewChangeMessage and StartViewMessage protobufs as
          well as protobufs for serializing records.
        - IR replicas have logic to periodically initiate a view change or
          initiate a view change upon recovery. They also have logic to
          handle DoViewChangeMessage and StartViewMessage messages.
        - IR replicas persist their view information, which is needed for
          recovery, using PeristentRegisters which persist data on disk.
        - When a client issues a PropseInconsistentMessage or
          ProposeConsi...
    0cd92291