On Thu, Jun 13, 2019 at 3:41 PM Jeff Jirsa <jji...@gmail.com> wrote: > > Bootstrapping a new node does not require repairs at all. >
Was my understanding as well. Replacing a node only requires repairs to guarantee consistency to avoid > violating quorum because streaming for bootstrap only streams from one > replica > > Think this way: > > Host 1, 2, 3 in a replica set > You write value A to some key > It lands on hosts 1 and 3. Host 2 was being restarted or something > Host 2 comes back up > Host 3 fails > > If you replace 3 with 3’ - > 3’ May stream from host 1 and now you’ve got a quorum if replicas with A > 3’ may stream fr host 2, and now you’ve got a quorum if replicas without > A. This is illegal. > > This is just a statistics game - do you have hosts missing writes? If so, > are hints delivering them when those hosts come back? What’s the cost of > violating consistency in that second scenario to you? > > If you’re running something where correctness really really really > matters, you must repair first. If you’re actually running a truly eventual > consistency use case and reading stale writes is fine, you probably won’t > ever notice. > Alright, this makes it much more clear, thank you. In any case these docs are weird and wrong - joining nodes get writes in > all versions of Cassandra for the past few years (at least 2.0+), so the > docs really need to be fixed. > :( -- Alex