Raise EOS unsuccessful request reporting to error
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / LocalFrontendHistory.java
index 94c0965c007178828cdc04cdeea3170962abdbf8..17e861a3e7252a9c269801bc00a2ebe9ec31d66b 100644 (file)
@@ -14,8 +14,9 @@ import com.google.common.collect.TreeRangeSet;
 import com.google.common.primitives.UnsignedLong;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Optional;
+import java.util.SortedSet;
 import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier;
-import org.opendaylight.controller.cluster.access.concepts.RequestException;
 import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.DataTreeModification;
 
@@ -36,9 +37,8 @@ final class LocalFrontendHistory extends AbstractFrontendHistory {
     }
 
     static LocalFrontendHistory create(final String persistenceId, final ShardDataTree tree,
-            final LocalHistoryIdentifier historyId) {
-        return new LocalFrontendHistory(persistenceId, tree, tree.ensureTransactionChain(historyId), ImmutableMap.of(),
-            TreeRangeSet.create());
+            final ShardDataTreeTransactionChain chain) {
+        return new LocalFrontendHistory(persistenceId, tree, chain, ImmutableMap.of(), TreeRangeSet.create());
     }
 
     static LocalFrontendHistory recreate(final String persistenceId, final ShardDataTree tree,
@@ -54,23 +54,29 @@ final class LocalFrontendHistory extends AbstractFrontendHistory {
     }
 
     @Override
-    FrontendTransaction createOpenSnapshot(final TransactionIdentifier id) throws RequestException {
+    FrontendTransaction createOpenSnapshot(final TransactionIdentifier id) {
         return FrontendReadOnlyTransaction.create(this, chain.newReadOnlyTransaction(id));
     }
 
     @Override
-    FrontendTransaction createOpenTransaction(final TransactionIdentifier id) throws RequestException {
+    FrontendTransaction createOpenTransaction(final TransactionIdentifier id) {
         return FrontendReadWriteTransaction.createOpen(this, chain.newReadWriteTransaction(id));
     }
 
     @Override
-    FrontendTransaction createReadyTransaction(final TransactionIdentifier id, final DataTreeModification mod)
-            throws RequestException {
+    FrontendTransaction createReadyTransaction(final TransactionIdentifier id, final DataTreeModification mod) {
         return FrontendReadWriteTransaction.createReady(this, id, mod);
     }
 
     @Override
-    ShardDataTreeCohort createReadyCohort(final TransactionIdentifier id, final DataTreeModification mod) {
-        return chain.createReadyCohort(id, mod);
+    ShardDataTreeCohort createFailedCohort(final TransactionIdentifier id, final DataTreeModification mod,
+            final Exception failure) {
+        return chain.createFailedCohort(id, mod, failure);
+    }
+
+    @Override
+    ShardDataTreeCohort createReadyCohort(final TransactionIdentifier id, final DataTreeModification mod,
+            final Optional<SortedSet<String>> participatingShardNames) {
+        return chain.createReadyCohort(id, mod, participatingShardNames);
     }
 }