Make the ring manager responsible for loading the ring #214

Merged
merged 1 commit into from Jul 22, 2012

Projects

None yet

2 participants

@jtuple
Contributor
jtuple commented Jul 22, 2012

Change riak_core_ring_manager and riak_core_app so that the ring manager
is responsible for loading the ring file from the disk rather than starting
with an initially empty ring and then relying upon the riak_core app to
later load the ring. This avoids a race condition with the ring manager
writing the empty ring to the disk before the riak_core app loads the
prior ring.

Note: Riak previously relied upon starting with a fresh ring in order to
ensure secondary vnodes were started in case any had fallback data that
needed to be handed off. The act of starting secondaries has long since
been moved to the riak_core_vnode_manager that periodically starts up
secondary vnodes over time, therefore there is no longer any need to
start with a fresh ring. This commit will therefore always load a saved
ring when the ring_manager starts, rather than starting with a fresh ring.

@jtuple jtuple Make the ring manager responsible for loading the ring
Change riak_core_ring_manager and riak_core_app so that the ring manager
is responsible for loading the ring file from the disk rather than starting
with an initially empty ring and then relying upon the riak_core app to
later load the ring. This avoids a race condition with the ring manager
writing the empty ring to the disk before the riak_core app loads the
prior ring.

Note: Riak previously relied upon starting with a fresh ring in order to
ensure secondary vnodes were started in case any had fallback data that
needed to be handed off. The act of starting secondaries has long since
been moved to the riak_core_vnode_manager that periodically starts up
secondary vnodes over time, therefore there is no longer any need to
start with a fresh ring. This commit will therefore always load a saved
ring when the ring_manager starts, rather than starting with a fresh ring.
0765c3a
@slfritchie
Contributor

Re-review: +1 to merge, thanks!

@jtuple jtuple merged commit 62af2bc into 1.2 Jul 22, 2012
@seancribbs seancribbs deleted the jdb-ring-manager-load branch Apr 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment