From: Tom Pantelis Date: Tue, 22 May 2018 16:29:28 +0000 (-0400) Subject: Convert mdsal submit() calls to commit() X-Git-Tag: release/fluorine~92 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=e254db554221f96c911f93a6a3e9a1c1e0238c3d;ds=sidebyside Convert mdsal submit() calls to commit() Change-Id: I097c9604272a5be350ba7949091e5f3f20b56f26 Signed-off-by: Tom Pantelis --- diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransaction.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransaction.java index c109165c1f..21d391c9d7 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransaction.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransaction.java @@ -10,10 +10,8 @@ package org.opendaylight.controller.cluster.databroker; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.Preconditions; -import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.Futures; -import com.google.common.util.concurrent.MoreExecutors; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.util.ArrayList; import java.util.Collection; @@ -22,8 +20,6 @@ import java.util.concurrent.Future; import java.util.concurrent.atomic.AtomicReferenceFieldUpdater; import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; -import org.opendaylight.mdsal.common.api.MappingCheckedFuture; -import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.broker.TransactionCommitFailedExceptionMapper; import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; @@ -128,12 +124,6 @@ public abstract class AbstractDOMBrokerWriteTransaction submit() { - return MappingCheckedFuture.create(commit().transform(ignored -> null, - MoreExecutors.directExecutor()), TransactionCommitFailedExceptionMapper.COMMIT_ERROR_MAPPER); - } - @Override @SuppressWarnings("checkstyle:IllegalCatch") public FluentFuture commit() { diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransactionTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransactionTest.java index 1ad1b345ef..358dbf097a 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransactionTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/AbstractDOMBrokerWriteTransactionTest.java @@ -10,14 +10,16 @@ import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.any; import static org.mockito.Mockito.doThrow; -import com.google.common.util.concurrent.CheckedFuture; +import com.google.common.util.concurrent.FluentFuture; import java.util.Collection; import java.util.Collections; +import java.util.concurrent.ExecutionException; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.opendaylight.mdsal.common.api.CommitInfo; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.spi.store.DOMStoreWriteTransaction; @@ -54,37 +56,37 @@ public class AbstractDOMBrokerWriteTransactionTest { } @Test - public void readyRuntimeExceptionAndCancel() { + public void readyRuntimeExceptionAndCancel() throws InterruptedException { RuntimeException thrown = new RuntimeException(); doThrow(thrown).when(domStoreWriteTransaction).ready(); AbstractDOMBrokerWriteTransactionTestImpl abstractDOMBrokerWriteTransactionTestImpl = new AbstractDOMBrokerWriteTransactionTestImpl(); - CheckedFuture submitFuture = - abstractDOMBrokerWriteTransactionTestImpl.submit(); + FluentFuture submitFuture = abstractDOMBrokerWriteTransactionTestImpl.commit(); try { - submitFuture.checkedGet(); + submitFuture.get(); Assert.fail("TransactionCommitFailedException expected"); - } catch (TransactionCommitFailedException e) { - assertTrue(e.getCause() == thrown); + } catch (ExecutionException e) { + assertTrue(e.getCause() instanceof TransactionCommitFailedException); + assertTrue(e.getCause().getCause() == thrown); abstractDOMBrokerWriteTransactionTestImpl.cancel(); } } @Test - public void submitRuntimeExceptionAndCancel() { + public void submitRuntimeExceptionAndCancel() throws InterruptedException { RuntimeException thrown = new RuntimeException(); doThrow(thrown).when(abstractDOMTransactionFactory).commit(any(), any()); AbstractDOMBrokerWriteTransactionTestImpl abstractDOMBrokerWriteTransactionTestImpl = new AbstractDOMBrokerWriteTransactionTestImpl(); - CheckedFuture submitFuture = - abstractDOMBrokerWriteTransactionTestImpl.submit(); + FluentFuture submitFuture = abstractDOMBrokerWriteTransactionTestImpl.commit(); try { - submitFuture.checkedGet(); + submitFuture.get(); Assert.fail("TransactionCommitFailedException expected"); - } catch (TransactionCommitFailedException e) { - assertTrue(e.getCause() == thrown); + } catch (ExecutionException e) { + assertTrue(e.getCause() instanceof TransactionCommitFailedException); + assertTrue(e.getCause().getCause() == thrown); abstractDOMBrokerWriteTransactionTestImpl.cancel(); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java index acf08eb1d9..bf551bb205 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/databroker/ConcurrentDOMDataBrokerTest.java @@ -22,7 +22,6 @@ import static org.mockito.Mockito.verify; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableMap; -import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.FluentFuture; import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; @@ -459,7 +458,7 @@ public class ConcurrentDOMDataBrokerTest { domDataReadWriteTransaction.delete(LogicalDatastoreType.OPERATIONAL, YangInstanceIdentifier.EMPTY); - domDataReadWriteTransaction.submit(); + domDataReadWriteTransaction.commit(); assertTrue(latch.await(10, TimeUnit.SECONDS)); @@ -509,7 +508,7 @@ public class ConcurrentDOMDataBrokerTest { domDataReadWriteTransaction.merge(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.EMPTY, mock(NormalizedNode.class)); - domDataReadWriteTransaction.submit(); + domDataReadWriteTransaction.commit(); assertTrue(latch.await(10, TimeUnit.SECONDS)); @@ -563,15 +562,13 @@ public class ConcurrentDOMDataBrokerTest { LogicalDatastoreType.OPERATIONAL, domStore, LogicalDatastoreType.CONFIGURATION, domStore), futureExecutor)) { - CheckedFuture submit1 = - dataBroker.newWriteOnlyTransaction().submit(); + FluentFuture submit1 = dataBroker.newWriteOnlyTransaction().commit(); assertNotNull(submit1); submit1.get(); - CheckedFuture submit2 = - dataBroker.newReadWriteTransaction().submit(); + FluentFuture submit2 = dataBroker.newReadWriteTransaction().commit(); assertNotNull(submit2); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java index 3d59ebbb01..482021aa8b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreIntegrationTest.java @@ -71,7 +71,6 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.ReadFailedException; import org.opendaylight.mdsal.common.api.TransactionChainClosedException; import org.opendaylight.mdsal.common.api.TransactionChainListener; -import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.api.DOMDataTreeReadWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; @@ -931,12 +930,12 @@ public class DistributedDataStoreIntegrationTest { final TransactionChainListener listener = Mockito.mock(TransactionChainListener.class); DOMTransactionChain txChain = broker.createTransactionChain(listener); - final List> futures = new ArrayList<>(); + final List> futures = new ArrayList<>(); final DOMDataTreeWriteTransaction writeTx = txChain.newWriteOnlyTransaction(); writeTx.put(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, CarsModel.emptyContainer()); writeTx.put(LogicalDatastoreType.CONFIGURATION, CarsModel.CAR_LIST_PATH, CarsModel.newCarMapNode()); - futures.add(writeTx.submit()); + futures.add(writeTx.commit()); int numCars = 100; for (int i = 0; i < numCars; i++) { @@ -945,11 +944,11 @@ public class DistributedDataStoreIntegrationTest { rwTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.newCarPath("car" + i), CarsModel.newCarEntry("car" + i, BigInteger.valueOf(20000))); - futures.add(rwTx.submit()); + futures.add(rwTx.commit()); } - for (final CheckedFuture f : futures) { - f.checkedGet(); + for (final ListenableFuture f : futures) { + f.get(5, TimeUnit.SECONDS); } final Optional> optional = txChain.newReadOnlyTransaction() @@ -1102,9 +1101,9 @@ public class DistributedDataStoreIntegrationTest { writeTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, invalidData); try { - writeTx.submit().checkedGet(5, TimeUnit.SECONDS); + writeTx.commit().get(5, TimeUnit.SECONDS); fail("Expected TransactionCommitFailedException"); - } catch (final TransactionCommitFailedException e) { + } catch (final ExecutionException e) { // Expected } @@ -1148,9 +1147,9 @@ public class DistributedDataStoreIntegrationTest { // succeeds b/c deep validation is not // done for put for performance reasons. try { - writeTx.submit().checkedGet(5, TimeUnit.SECONDS); + writeTx.commit().get(5, TimeUnit.SECONDS); fail("Expected TransactionCommitFailedException"); - } catch (final TransactionCommitFailedException e) { + } catch (final ExecutionException e) { // Expected } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java index 9b2edfa6c1..aaab6b19e1 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java @@ -82,7 +82,6 @@ import org.opendaylight.controller.md.cluster.datastore.model.SchemaContextHelpe import org.opendaylight.controller.md.cluster.datastore.model.TestModel; import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.mdsal.common.api.TransactionChainListener; -import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; import org.opendaylight.mdsal.dom.api.DOMDataTreeWriteTransaction; import org.opendaylight.mdsal.dom.api.DOMTransactionChain; import org.opendaylight.mdsal.dom.spi.store.DOMStore; @@ -525,9 +524,9 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { writeTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, invalidData); try { - writeTx.submit().checkedGet(5, TimeUnit.SECONDS); + writeTx.commit().get(5, TimeUnit.SECONDS); fail("Expected TransactionCommitFailedException"); - } catch (final TransactionCommitFailedException e) { + } catch (final ExecutionException e) { // Expected } @@ -562,9 +561,9 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest { writeTx.merge(LogicalDatastoreType.CONFIGURATION, CarsModel.BASE_PATH, invalidData); try { - writeTx.submit().checkedGet(5, TimeUnit.SECONDS); + writeTx.commit().get(5, TimeUnit.SECONDS); fail("Expected TransactionCommitFailedException"); - } catch (final TransactionCommitFailedException e) { + } catch (final ExecutionException e) { // Expected }