Talk:Conflict-free replicated data type

Duplicated with draft
Hey all, I've been working on this article for the past couple weeks. Just saw that it now exists. Draft:Conflict-Free Replicated Data Type Andrew Helwer (talk) 21:06, 21 November 2014 (UTC)
 * I suppose I'll go about merging my draft with this article. Andrew Helwer (talk) 21:11, 21 November 2014 (UTC)

Rename page?
Change to Conflict-free replicated data type, non-plural (see WP:PLURAL). I guess we could make the argument that it applies to a "class" of data structures, but there's precedence against that with hash table, binary tree, etc. Andrew Helwer (talk) 21:54, 21 November 2014 (UTC)
 * Also to steal some examples from math structures with certain properties: Group, Set, etc. Andrew Helwer (talk) 21:57, 21 November 2014 (UTC)
 * Went ahead with the move. Andrew Helwer (talk) 20:43, 23 November 2014 (UTC)

Bug in compare of State-based 2P-set?
The compare function in the State-based 2P-set is specified as

compare (S, T) : boolean b    let b = (S.A $$\subseteq$$ T.A $$\lor$$ S.R $$\subseteq$$ T.R)

Unless I'm mistaken there is a bug there and it should be with "and" instead of "or"

compare (S, T) : boolean b    let b = (S.A $$\subseteq$$ T.A $$\land$$ S.R $$\subseteq$$ T.R)

Original compare doesn't even specify a partial order because it lacks transitivity. Assume X = {A={1}, R={1} } Y = {A={1,2}, R={2} } Z = {A={2,3}, R={2,3} } then X < Y because X.A $$\subseteq$$ Y.A Y < Z because Y.R $$\subseteq$$ Z.R but X is not less then Z according to that compare!

Serg 93.76.223.157 (talk) 23:45, 18 February 2016 (UTC)


 * Updated compare as described above Serg 14:15, 22 February 2016 (UTC) — Preceding unsigned comment added by 93.76.223.157 (talk)

Conflict of interest
Regarding this revert, which I consider less-than-polite: https://en.wikipedia.org/w/index.php?title=Conflict-free_replicated_data_type&type=revision&diff=707279597&oldid=707178547

Long ago, I promised myself to never go into an edit war on Wikipedia again. So, here is my position:
 * the paragraph lists "Known Sequence CRDT are Treedoc, Woot,[6] Logoot,[11] LSEQ[12]"
 * I know and I respect authors of the above mentioned papers/algorithms
 * I believe that all sequence CRDTs are very much similar in their general approach
 * I decided to add my published work on seq CRDTs too (which was actually implemented, by the way, and, I believe, still runs in production)

If somebody else, who is not my relative, spouse or a business partner, finds some time to re-insert that link, then I will be very grateful.

In the meantime, I will add a reference to another my piece: http://no-gritzko-here.livejournal.com/52165.html I hope, this one does not get reverted. Who knows, actually. Let's see.
 * Hi Victor. CRDTs are certainly a hot research topic these days, but I believe the role of the Wikipedia article probably shouldn't be to keep readers abreast of every new published sequence CRDT. Do you agree? What purpose do you think this article should serve, and why does adding a link to your research best serve that purpose? Note also that inclusion of those other sequence CRDTs in the article does not establish precedent for inclusion or not. Each addition should stand on its own. Andrew Helwer (talk) —Preceding undated comment added 05:32, 17 March 2016 (UTC)
 * I am pretty sure my addition was not harmful. Anyway. Gritzko (talk) 18:42, 30 March 2016 (UTC)
 * Hi Andrew. Here is a job for you. I just spotted Ali citing an article he is a co-author of (the one on pure op-baseds). Please investigate this shocking incident. Gritzko (talk) 14:01, 19 May 2016 (UTC)
 * What is your objective here, exactly? If you have a grievance please state it clearly and provide justification for its validity. This type of posting is immature and unproductive. You are free to take action here yourself. Otherwise, WP:OSE. Andrew Helwer (talk) —Preceding undated comment added 17:31, 20 May 2016 (UTC)
 * You pose as an authority in a way that amuses me. Yes, it is very immature, but I can not stop. I'm sorry. Gritzko (talk) 10:29, 21 May 2016 (UTC)
 * P.S. Of course, I am not going to insult Ali. That article has to be cited here. By a CoI or not, I do not care. Gritzko (talk) 10:29, 21 May 2016 (UTC)

Contradiction
I read in this article: "operation-based CRDTs require guarantees from the communication middleware […] that they are delivered in causal order." As well as: "Operation-based CRDTs […] The communications infrastructure must therefore ensure that all operations on a replica are delivered to the other replicas, without duplication, but in any order. Which version is true? Arinelle (talk) 14:40, 17 May 2023 (UTC)


 * The key here is the word “all” more than the ordering during send. With operational CRDTs, all changes are needed - and those changes are comparable into “partial order” - meaning that they can be sorted into correct order IF they are received out of order for some reason, but to have a consistent document, you need to have _all_ of the changes available. JosephHeck (talk) 18:16, 17 July 2023 (UTC)
 * I agree with Arinelle that the paragraphs contradict each other. JosephHecks answer does not resolve it for me. Schexpir (talk) 14:54, 17 July 2024 (UTC)