From: Tomas Cere Date: Wed, 10 Aug 2016 08:57:29 +0000 (+0200) Subject: Make ShardCoordinationTasks public X-Git-Tag: release/boron~5 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=mdsal.git;a=commitdiff_plain;h=3266d82b4f2bbbf24f66fac99619d36a0508779c Make ShardCoordinationTasks public These will be reused in controller so make them public. Change-Id: I89fb776768d8e975fd744fd1daefc2d0bb3eaa3f Signed-off-by: Tomas Cere (cherry picked from commit 6a8c4d89d24cb6a819949b3782965f2cde1d20fe) --- diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java index 766650a330..c8499ecd48 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCanCommitCoordinationTask.java @@ -8,6 +8,8 @@ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.annotations.Beta; +import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collection; import java.util.concurrent.Callable; @@ -18,17 +20,21 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -class ShardCanCommitCoordinationTask implements Callable { +/** + * Task that coordinates the CanCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s + */ +@Beta +public class ShardCanCommitCoordinationTask implements Callable { private static final Logger LOG = LoggerFactory.getLogger(ShardCanCommitCoordinationTask.class); private final DOMDataTreeIdentifier rootShardPrefix; private final Collection cohorts; - ShardCanCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, + public ShardCanCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, final Collection cohorts) { - this.rootShardPrefix = rootShardPrefix; - this.cohorts = cohorts; + this.rootShardPrefix = Preconditions.checkNotNull(rootShardPrefix); + this.cohorts = Preconditions.checkNotNull(cohorts); } @Override @@ -39,7 +45,7 @@ class ShardCanCommitCoordinationTask implements Callable { canCommitBlocking(); return true; - } catch (TransactionCommitFailedException e) { + } catch (final TransactionCommitFailedException e) { LOG.warn("Shard: {} Submit Error during phase CanCommit, starting Abort", rootShardPrefix, e); //FIXME abort here throw e; diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java index 7631821219..4ff9d2f5cd 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardCommitCoordinationTask.java @@ -8,6 +8,8 @@ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.annotations.Beta; +import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collection; import java.util.concurrent.Callable; @@ -18,17 +20,21 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -class ShardCommitCoordinationTask implements Callable { +/** + * Task that coordinates the Commit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s + */ +@Beta +public class ShardCommitCoordinationTask implements Callable { private static final Logger LOG = LoggerFactory.getLogger(ShardCommitCoordinationTask.class); private final DOMDataTreeIdentifier rootShardPrefix; private final Collection cohorts; - ShardCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, + public ShardCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, final Collection cohorts) { - this.rootShardPrefix = rootShardPrefix; - this.cohorts = cohorts; + this.rootShardPrefix = Preconditions.checkNotNull(rootShardPrefix); + this.cohorts = Preconditions.checkNotNull(cohorts); } @Override @@ -39,7 +45,7 @@ class ShardCommitCoordinationTask implements Callable { commitBlocking(); return null; - } catch (TransactionCommitFailedException e) { + } catch (final TransactionCommitFailedException e) { LOG.warn("Shard: {} Submit Error during phase Commit, starting Abort", rootShardPrefix, e); //FIXME abort here throw e; diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java index 0024cb83f1..737be35c74 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardPreCommitCoordinationTask.java @@ -9,6 +9,8 @@ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.annotations.Beta; +import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collection; import java.util.concurrent.Callable; @@ -19,17 +21,21 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -class ShardPreCommitCoordinationTask implements Callable{ +/** + * Task that coordinates the PreCommit phase of the provided {@link DOMStoreThreePhaseCommitCohort}'s + */ +@Beta +public class ShardPreCommitCoordinationTask implements Callable{ private static final Logger LOG = LoggerFactory.getLogger(ShardPreCommitCoordinationTask.class); private final DOMDataTreeIdentifier rootShardPrefix; private final Collection cohorts; - ShardPreCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, + public ShardPreCommitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, final Collection cohorts) { - this.rootShardPrefix = rootShardPrefix; - this.cohorts = cohorts; + this.rootShardPrefix = Preconditions.checkNotNull(rootShardPrefix); + this.cohorts = Preconditions.checkNotNull(cohorts); } @Override @@ -40,7 +46,7 @@ class ShardPreCommitCoordinationTask implements Callable{ preCommitBlocking(); return null; - } catch (TransactionCommitFailedException e) { + } catch (final TransactionCommitFailedException e) { LOG.warn("Shard: {} Submit Error during phase {}, starting Abort", rootShardPrefix, e); //FIXME abort here throw e; diff --git a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTask.java b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTask.java index b46c9fcf0b..c7b0ee6adc 100644 --- a/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTask.java +++ b/dom/mdsal-dom-inmemory-datastore/src/main/java/org/opendaylight/mdsal/dom/store/inmemory/ShardSubmitCoordinationTask.java @@ -8,6 +8,8 @@ package org.opendaylight.mdsal.dom.store.inmemory; +import com.google.common.annotations.Beta; +import com.google.common.base.Preconditions; import java.util.Collection; import java.util.concurrent.Callable; import org.opendaylight.mdsal.common.api.TransactionCommitFailedException; @@ -16,7 +18,12 @@ import org.opendaylight.mdsal.dom.spi.store.DOMStoreThreePhaseCommitCohort; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -class ShardSubmitCoordinationTask implements Callable { +/** + * Task that coordinates all phases of transaction submit from the provided {@link DOMStoreThreePhaseCommitCohort}'s. + * Each phase will only be started once all cohorts have finished the previous phase. + */ +@Beta +public class ShardSubmitCoordinationTask implements Callable { private static final Logger LOG = LoggerFactory.getLogger(ShardSubmitCoordinationTask.class); @@ -26,9 +33,9 @@ class ShardSubmitCoordinationTask implements Callable { private final ShardCommitCoordinationTask commitCoordinationTask; - ShardSubmitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, + public ShardSubmitCoordinationTask(final DOMDataTreeIdentifier rootShardPrefix, final Collection cohorts) { - this.rootShardPrefix = rootShardPrefix; + this.rootShardPrefix = Preconditions.checkNotNull(rootShardPrefix); canCommitCoordinationTask = new ShardCanCommitCoordinationTask(rootShardPrefix, cohorts); preCommitCoordinationTask = new ShardPreCommitCoordinationTask(rootShardPrefix, cohorts);