Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clock sync detector should kill nodes #13

Open
ghost opened this issue Sep 4, 2013 · 6 comments
Open

Clock sync detector should kill nodes #13

ghost opened this issue Sep 4, 2013 · 6 comments

Comments

@ghost
Copy link

ghost commented Sep 4, 2013

When the clock-sync detector sees that the time delta has exceeded the buffer in skuld.task, it should nuke the node and log an informative message. Probably the safest thing for now.

@danielcompton
Copy link
Contributor

Do we need to reach a consensus between nodes of where the time is?

All nodes regularly exchange heartbeat messages with their current clock. If any differ by more than a few seconds, the furthest ahead kills itself.

This would mean that one node with a lagging clock could kill all the others

@danielcompton
Copy link
Contributor

Probably want to check this on startup too.

@eric
Copy link
Contributor

eric commented Nov 8, 2014

I would definitely be interested in any papers on loosely coordinating clocks. I'm sure there are some smart people who have already solved this better than I can think of.

@danielcompton
Copy link
Contributor

NTP is the prior art that comes to mind first, I want to think about whether it's appropriate for our use case though.

@aphyr
Copy link
Contributor

aphyr commented Nov 10, 2014

The clock skew detector is also about message latency, not just clock sync. NTP is solving a subtly different problem.

@aphyr
Copy link
Contributor

aphyr commented Nov 10, 2014

I'm reasonably confident that lagging clocks should result in unavailability; if we bias towards the future, you can wind up invalidating some of the weak-time-ordered claim semantics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants