BUG-7033: Allow ShardDataTree to pipeline transactions 75/28775/21
authorRobert Varga <rovarga@cisco.com>
Sat, 24 Oct 2015 16:34:53 +0000 (18:34 +0200)
committerTom Pantelis <tpanteli@brocade.com>
Thu, 15 Dec 2016 18:53:45 +0000 (18:53 +0000)
commita0332590d14ab7aad0247ae12bff4205c90cac94
tree3e7e91391b91ba4c915b50d4eb3f8cb436fa2158
parentba99b089ca16480dd8b65b814f68e3fd26ab1246
BUG-7033: Allow ShardDataTree to pipeline transactions

InMemoryDataTree gives us the DataTreeTip, which allows another
DataTreeModificatoin to be prepared on top an uncommitted one. This
allows us to pipeline transactions if we manage our lifecycle properly.

For now this feature gives stricter abort validation, and has otherwise
no impact. In future, this allows another DataTreeModification to be
prepared and queue for persistence before replication of the previous
one finishes.

Change-Id: I7ab97c906a6403da780800edd335f74c403e5aa4
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTree.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeCohort.java
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohort.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardDataTreeTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/ShardTest.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/SimpleShardDataTreeCohortTest.java