0

I'm studying the ODL controller and get a question. In ODL clustering implementation, data are divided into shards which are replicate onto multiple controllers. So here is my question: when an application makes an update on a module's primary shard, will the application be blocked (kept waiting ) until the change on the shard has been propagated and updated onto all the shard replicas in the cluster (using the RAFT algorithm), or will the application return from the transaction and proceed immediately after the update is committed on the primary shard ? . Looking forward replies and gratitude in advance!

Has QUIT--Anony-Mousse
  • 76,138
  • 12
  • 138
  • 194

1 Answers1

0

As you noted ODL clustering uses RAFT for consensus. Therefore a transaction on the ODL Distributed Datastore will only be committed when the data is replicated to a majority of members in the cluster. For example if a shard has replicas on 7 nodes then the update needs to be replicated to 4 nodes (including the leader/primary) before that update is committed to the state.

Moiz Raja
  • 5,612
  • 6
  • 40
  • 52