Skip to content
Commit Detail

Commit 27689c6

Author
Rachel Chen <rachel@chens.email> 2022-08-10 18:49:25 -0700
Parents
4d80553
Tree
e205cf2
chord: continue atomic ring maintenance implementation

Join routine will now internally retry instead of return an error and
let it restart. Overlay's cached connection implementation may introduce
additional delays when it is not necessary.

In addition, Leave routine should correctly block the leaving peer from
notifying its successor again (which makes swing pointer unproductive).

LocalNode now utilize atomic128 package to maintain its current state,
and the logical timestamp of when the transition happens, this allows to
track the history of state changes.

Changes in this commit:
dev: move dev-support into dev
README: updated go version required and add log file to show
	implementation working for concurrent join
chord/stats: adjust stats handler output format and prints state change
	history
validator: move into dev/ package
util: move transport/reaper.go's randomTimeRange here
chord/kv_membership: random backoff on retry join/leave

Files changed

32 files changed+11 added~13 modified-8 deleted