-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/14631/
-----------------------------------------------------------
(Updated Oct. 29, 2013, 7:15 p.m.)
Review request for mesos and Benjamin Hindman.
Changes
-------
Removed unneeded namespace prefix in cpp files.
Bugs: MESOS-736
https://issues.apache.org/jira/browse/MESOS-736
Repository: mesos-git
Description
-------
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:
https://issues.apache.org/jira/browse/MESOS-736
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 asynchronously.
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/Makefile.am 0b32d74
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
Diff: https://reviews.apache.org/r/14631/diff/
Testing
-------
bin/mesos-tests.sh --gtest_filter=*CoordinatorTest*:*LogTest*:*ReplicaTest*
--gtest_repeat=100
Thanks,
Jie Yu