Add replication capability to Shard 23/9523/5
authorMoiz Raja <moraja@cisco.com>
Thu, 31 Jul 2014 09:02:55 +0000 (02:02 -0700)
committerMoiz Raja <moraja@cisco.com>
Thu, 31 Jul 2014 14:20:28 +0000 (07:20 -0700)
This commit integrates the distributed data store with our Raft implementation.

Shard now extends RaftActor which provides it the replication capabilities required.

Other notable changes are,
- The FindPrimary algorithm has been changed to find the first replica for a shard.
  The shard then forwards requests to create a transaction or transaction chain to
  the leader
- Changed the package name for Raft internal messages from "internal" to "base" to be
  more BND tool friendly
- Fix some issues with Serialization of Raft messages
- Create a NoOpTransaction when no Primary can be found. The commit for this transaction
  will always fail. The NoOpTransaction returns absent for reads in all cases.
- Add PeerAddressResolution capability to Raft. What this basically does is given a static
  configuration where a shard has 'n' peers, you can pass the names of those peers
  to the shard and resolve their addresses at a later time. This allows the Shard to ensure
  consensus even in a situation where it is the first one to come up but it's peers are still
  not running

Change-Id: I3087deb5eb4418cd629a707ba14f43858db1f463
Signed-off-by: Moiz Raja <moraja@cisco.com>

No differences found