4 ms·
my understanding is that conflict resolution is done by all domain controllers comparing the USN of each object and replicating the object with the highest USN.
by HyperSane 4y ago
my understanding is that conflict resolution is done by all domain controllers comparing the USN of each object and replicating the object with the highest USN.
https://www.techtarget.com/searchwindowsserver/definition/update-sequence-number-USN https://www.techtarget.com/searchwindowsserver/definition/up...
- preseinger 4y agoyes. this is my point. "highest usn" is arbitrary.
- HyperSane 4y agoIt isn't arbitrary, it is last writer wins, which is reasonable enough to me. How SHOULD conflicts be resolved? Active Directory is eventually consistent, so it is expected that not all nodes will see changes immediately and could operate on stale data.
- preseinger 4y agolww 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.