Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
BUG-5280: add AbstractClientConnection
[controller.git]
/
opendaylight
/
md-sal
/
sal-distributed-datastore
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
databroker
/
actors
/
dds
/
ClientTransaction.java
diff --git
a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransaction.java
b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransaction.java
index 81d00ee8bce3279842696f6a912d4744423a2e47..8450c67224fb7625bffbf64d3d4741737d3049db 100644
(file)
--- a/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransaction.java
+++ b/
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/databroker/actors/dds/ClientTransaction.java
@@
-12,12
+12,12
@@
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
import com.google.common.util.concurrent.CheckedFuture;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
import com.google.common.util.concurrent.CheckedFuture;
-import java.util.HashMap;
import java.util.Map;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier;
-import org.opendaylight.
controller.md.sal.common.api.data
.ReadFailedException;
-import org.opendaylight.
controller.sal.core.spi.data
.DOMStoreThreePhaseCommitCohort;
+import org.opendaylight.
mdsal.common.api
.ReadFailedException;
+import org.opendaylight.
mdsal.dom.spi.store
.DOMStoreThreePhaseCommitCohort;
import org.opendaylight.yangtools.concepts.Identifiable;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.yangtools.concepts.Identifiable;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@
-62,7
+62,7
@@
public final class ClientTransaction extends LocalAbortable implements Identifia
private static final int OPEN_STATE = 0;
private static final int CLOSED_STATE = 1;
private static final int OPEN_STATE = 0;
private static final int CLOSED_STATE = 1;
- private final Map<Long, AbstractProxyTransaction> proxies = new HashMap<>();
+ private final Map<Long, AbstractProxyTransaction> proxies = new
Concurrent
HashMap<>();
private final TransactionIdentifier transactionId;
private final AbstractClientHistory parent;
private final TransactionIdentifier transactionId;
private final AbstractClientHistory parent;
@@
-84,8
+84,7
@@
public final class ClientTransaction extends LocalAbortable implements Identifia
private AbstractProxyTransaction ensureProxy(final YangInstanceIdentifier path) {
checkNotClosed();
private AbstractProxyTransaction ensureProxy(final YangInstanceIdentifier path) {
checkNotClosed();
- final ModuleShardBackendResolver resolver = parent.getClient().resolver();
- final Long shard = resolver.resolveShardForPath(path);
+ final Long shard = parent.resolveShardForPath(path);
return proxies.computeIfAbsent(shard, this::createProxy);
}
return proxies.computeIfAbsent(shard, this::createProxy);
}
@@
-116,13
+115,13
@@
public final class ClientTransaction extends LocalAbortable implements Identifia
private boolean ensureClosed() {
final int local = state;
private boolean ensureClosed() {
final int local = state;
- if (local != CLOSED_STATE) {
- final boolean success = STATE_UPDATER.compareAndSet(this, OPEN_STATE, CLOSED_STATE);
- Preconditions.checkState(success, "Transaction %s raced during close", this);
- return true;
- } else {
+ if (local == CLOSED_STATE) {
return false;
}
return false;
}
+
+ final boolean success = STATE_UPDATER.compareAndSet(this, OPEN_STATE, CLOSED_STATE);
+ Preconditions.checkState(success, "Transaction %s raced during close", this);
+ return true;
}
public DOMStoreThreePhaseCommitCohort ready() {
}
public DOMStoreThreePhaseCommitCohort ready() {