akka/akka-core

Provide a 'tree' CRDT type

Open

#30.753 aperta il 6 ott 2021

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Scala (3547 fork)batch import
help wantedt:distributed-data

Metriche repository

Star
 (13.277 star)
Metriche merge PR
 (Merge medio 17h 35m) (11 PR mergiate in 30 g)

Descrizione

It is already possible to distribute 'trees' in Distributed Data CRDT's by encoding them into the generic ORMap data type. However, that may lead to surprising effects when you encode a 'move' operation as multiple updates of the map: since those updates are distributed independently (and conflicts in those updates are resolved independently), you might end up with a Map that doesn't encode the tree you expected. To avoid such problems, we might provide a Tree CRDT data type that has an explicit 'move' operation, so conflicts involving those can be handled while keeping the tree structure intact.

https://martin.kleppmann.com/papers/move-op.pdf might be interesting inspiration.

Guida contributor