Commit Detail
Commit 27689c6
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