mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jie Yu" <>
Subject Re: Review Request 14631: Catch-up Replicated Log 1: decoupled coordinator logics and made them asynchronous.
Date Fri, 25 Oct 2013 18:50:26 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated Oct. 25, 2013, 6:50 p.m.)

Review request for mesos and Benjamin Hindman.


Using replica->missing() instead of log::catchup to CHECK if a log entry has been learned
locally (BenH's suggestion).

bin/ --gtest_filter=CoordinatorTest.*:ReplicaTest.*:LogTest.* --gtest_repeat=100

Repository: mesos-git


This is the first patch of a series of patches that implement a catch-up mechanism for replicated
log. See the following ticket for more details:

Here is a brief summary of this patch: (Sorry for the fact that we are not able to break it
into smaller patches :()

1) Pulled the original Coordinator logic out and divides it into several Paxos phases (see
src/log/consensus.hpp). Instead of using a blocking semantics, we implemented all the logics

2) In order to ensure the liveness of a catch-uper, we implemented a retry logic by bumping
the proposal number. This also requires us to slightly change the existing replica protocol.

3) Made the "fill" operation independent of the underlying replica. Instead, introduced a
catchup (see src/log/catchup.hpp) function to make sure the underlying local replica has learned
each write.

4) Modified the log tests to adapt to the new semantics (see (3) above)

This is a joint work with Yan Xu.

Diffs (updated)

  src/ a2d8242 
  src/log/catchup.hpp PRE-CREATION 
  src/log/catchup.cpp PRE-CREATION 
  src/log/consensus.hpp PRE-CREATION 
  src/log/consensus.cpp PRE-CREATION 
  src/log/coordinator.hpp 3f6fb7c 
  src/log/coordinator.cpp 6e6466f 
  src/log/log.hpp 77edc7a 
  src/log/network.hpp d34cf78 
  src/log/replica.hpp d1f5ead 
  src/log/replica.cpp 59a6ff3 
  src/messages/log.proto 3d5859f 
  src/tests/log_tests.cpp ff5f86c 



bin/ --gtest_filter=*CoordinatorTest*:*LogTest*:*ReplicaTest* --gtest_repeat=100


Jie Yu

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message