Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

lww is arbitrary, because (a) it's unknowable if some local state is actually valid, and (b) resolving conflicts is destructive

conflicts cannot be resolved in general without additional information from the application

in an lww system if a bit of data loses in an lww contest, that data was not just stale, it actually becomes invalid

if you set a=1 and then do a bunch of operations based on the idea that a=1, and i set a=2 and then do a bunch of operations based on the idea that a=2, and lww resolves that my a=2 wins over your a=1, then after that merge, your a=1 is not just stale, it's entirely invalid, erased from history. at no point did a ever equal 1. anything you did with that assumption is similarly invalid. and lww provides no way to manage the causality implications of that decision.

it's fine for many use cases but it's not a general-purpose solution.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: