Readit News logoReadit News
tschottdorf commented on Ask HN: Software Engineer hitting 40: what's next?    · Posted by u/man-next-door
tschottdorf · 4 years ago
I'm close to a 35+ yo engineer and have been with my current employer for over six years, mostly based in Europe. There are multiple ICs, myself included, in positions like the ones you seem to be looking for, and we are hiring. I know you're asking for advice and not for leads, but maybe the data point that I consider these reasonable goals is advice enough and perhaps you'd like to chat about the company behind it. Reach out at tobias@cockroachlabs.com if you're interested.
tschottdorf commented on Show HN: Monte Carlo simulation for predicting project timelines   quotes.vistimo.com... · Posted by u/diiq
tschottdorf · 4 years ago
I tried to use this but once I start entering tasks I don't see how to proceed. There's no way forward from neither there nor the project list page. Am I missing something?
tschottdorf commented on Living Without Atomic Clocks (2016)   cockroachlabs.com/blog/li... · Posted by u/bobbiechen
bitwize · 5 years ago
> In essence, it provides a means to absolutely order events, regardless of which distributed node an event originated at.

Einstein said you can't absolutely order events -- and with widely enough distributed systems and small enough time quanta, sooner or later you're going to run into relativistic implications.

Probably not a problem for most applications we currently have to deal with, but one day -- soon enough that we're already giving new protocols names like "Interplanetary File System" -- our databases will spread out among the stars, and how will we handle time and event ordering then?

tschottdorf · 5 years ago
There is an extension to linearizability that takes General Relativity into account. Paywalled unfortunately: https://link.springer.com/chapter/10.1007/978-3-662-45174-8_... I agree that whatever can be done in an eventually consistent fashion should be. For the rest, at least academia has an answer.

(I work at Cockroach Labs and gave an internal talk on this paper some time ago).

tschottdorf commented on Writing correct lock-free and distributed stateful systems in Rust, with TLA+   github.com/spacejam/tla-r... · Posted by u/gfortaine
tschottdorf · 8 years ago
https://github.com/uwplse/verdi is a good example of this (it uses coq and extractions along with minimal glue).
tschottdorf commented on CockroachDB 1.0   cockroachlabs.com/blog/co... · Posted by u/hepha1979
rodionos · 8 years ago
> When a node exceeds the clock offset threshold, it will automatically shut down to prevent anomalies.

If you're planning to run on VMware, be prepared to handle rather dramatic system clock shifts. I've seen shifts of up to 5 minutes during heavy backup windows. Not all customers might be willing to have their nodes go down due to system clock / NTP issues.

tschottdorf · 8 years ago
employee here.

Yep, we've also had our share of troubles with noisy clock on cloud environments, so that's something we're very aware of. Further down the road, we're considering a "clockless" mode, which of course isn't clockless, but depends less on the offset threshold: https://github.com/cockroachdb/cockroach/issues/14093

That said, even today, configuring a cluster with a fairly high maximum clock offset is feasible for many workloads.

Dead Comment

Dead Comment

tschottdorf commented on Gryadka is not Paxos, so it's probably wrong   tschottdorf.github.io/if-... · Posted by u/arjunnarayan
neuronsguy · 8 years ago
I'm including the Gryadka author's rebuttal here, for completeness:

Thank you for the analysis of my post but it seems that you didn't get it correctly. Even to read a value you have to execute the full cycle (prepare, accept) of consensus (in the case of the stable leader we can skip prepare), so when you read the nil value the state of the system will be:

A: (value=foo ballot=1 promised=2) B: (value=nil ballot=2 promised=2) C: (value=nil ballot=2 promised=2)

Not the one you mentioned in the post:

A: (value=foo ballot=1 promised=2) B: (value=nil ballot=0 promised=2) C: (value=nil ballot=0 promised=2)

So the counter example is incorrect.

I proved the algorithm mathematically by hand and used very aggressive property based testing with fault injections so I'm pretty confident in its correctness.

tschottdorf · 8 years ago
I'm not really on wifi good enough to reply extensively, but I pushed an update to the post explaining this better. If you carry out the read explicitly, you can still get the anomaly in much the same way. I should've done so from the beginning, but I tried to simplify the argument and went too far.

u/tschottdorf

KarmaCake day95June 5, 2015
About
meet.hn/city/de-Bonn

Socials: - github.com/tbg - x.com/tbgrieger

---

View Original