akka/akka-core

Provide a 'tree' CRDT type

開放

#30,753 建立於 2021年10月6日

 (0 則留言) (0 個反應) (0 位負責人)Scala (3,547 個分叉)batch import
help wantedt:distributed-data

倉庫指標

星標
 (13,277 顆星)
PR 合併指標
 (平均合併 8天 19小時) (30 天內合併 10 個 PR)

描述

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.

貢獻者指南