<div dir="ltr">Hi - I am trying to leveraging CRDT sets to store chat messages that my distributed Riak infrastructure would store. Given the intrinsic conflict-resolution, I thought this might be more beneficial than me putting together a merge implementation based on the causal context.<div><br></div><div>However, my data model requires each chat message to be associated to something like a post, hence I was thinking of having the post reference as the bucket, and chat references as keys in that bucket. With of course the bucket-type datasource equated to 'set'. Unfortunately though, from the documentation, I'm not able to ascertain how to associate a created set with an existing bucket and a new key reference if I use the Erlang client. This seems possible for other languages but not for Erlang, with the Basho doc mentioning ¬†"<span style="color:rgb(119,122,126);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">%% Sets in the Erlang client are opaque data structures that </span><span style="color:rgb(119,122,126);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">collect operations as you mutate them. We will associate the data¬† </span><span style="color:rgb(119,122,126);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">structure with a bucket type, bucket, and key later on.</span>".</div><div><br></div><div>Subsequent code only seems to fetch the set from the bucket / key but where exactly is the allocation happening?</div><div><br></div><div><span style="color:rgb(79,79,79);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">{ok, SetX} = riakc_pb_socket:fetch_type(Pid,</span><span style="background-color:rgb(255,255,255)"> </span><span style="color:rgb(79,79,79);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">{<<</span><span class="gmail-hljs-string" style="color:rgb(252,192,127);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">"sets"</span><span style="color:rgb(79,79,79);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">>>,<<</span><span class="gmail-hljs-string" style="color:rgb(252,192,127);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">"travel"</span><span style="color:rgb(79,79,79);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">>>}, </span><span style="color:rgb(79,79,79);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)"><<</span><span class="gmail-hljs-string" style="color:rgb(252,192,127);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">"cities"</span><span style="color:rgb(79,79,79);font-family:monospace,serif;font-size:13.329360008239746px;white-space:pre;background-color:rgb(248,248,248)">>>).</span></div><div><br></div><div>Perhaps I'm missing something, or is there a code snippet that I can leverage?</div><div><br></div><div>Thanks!</div></div>