Repository: ignite
Updated Branches:
  refs/heads/ignite-5932 01b5183b7 -> b6b790aa2


ignite-5932


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b6b790aa
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b6b790aa
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b6b790aa

Branch: refs/heads/ignite-5932
Commit: b6b790aa2d5cfcde4c7ec21bee8f7c19e355d638
Parents: 01b5183
Author: sboikov <sboi...@gridgain.com>
Authored: Mon Oct 16 12:16:10 2017 +0300
Committer: sboikov <sboi...@gridgain.com>
Committed: Mon Oct 16 12:16:10 2017 +0300

----------------------------------------------------------------------
 .../distributed/dht/GridDhtTxFinishFuture.java  | 19 ++++++++++---
 ...ridNearOptimisticTxPrepareFutureAdapter.java |  4 ++-
 .../GridNearPessimisticTxPrepareFuture.java     | 10 +++----
 .../near/GridNearTxFinishFuture.java            |  6 ++++
 .../cache/mvcc/CacheCoordinatorsProcessor.java  | 15 ++++++++--
 .../cache/mvcc/MvccCoordinatorFuture.java       | 30 ++++++++++++++++++++
 6 files changed, 72 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b790aa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
index cb2eaa5..e0117a4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java
@@ -35,6 +35,7 @@ import 
org.apache.ignite.internal.processors.cache.GridCacheCompoundIdentityFutu
 import org.apache.ignite.internal.processors.cache.GridCacheFuture;
 import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxMapping;
+import org.apache.ignite.internal.processors.cache.mvcc.MvccCoordinatorFuture;
 import org.apache.ignite.internal.processors.cache.mvcc.TxMvccInfo;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
 import org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry;
@@ -610,13 +611,23 @@ public final class GridDhtTxFinishFuture<K, V> extends 
GridCacheCompoundIdentity
 
     /** {@inheritDoc} */
     @Override public String toString() {
-        // TODO IGNITE-3478 (mvcc wait txs fut)
         Collection<String> futs = F.viewReadOnly(futures(), new 
C1<IgniteInternalFuture<?>, String>() {
             @SuppressWarnings("unchecked")
             @Override public String apply(IgniteInternalFuture<?> f) {
-                return "[node=" + ((MiniFuture)f).node().id() +
-                    ", loc=" + ((MiniFuture)f).node().isLocal() +
-                    ", done=" + f.isDone() + "]";
+                if (f.getClass() == MiniFuture.class) {
+                    return "[node=" + ((MiniFuture)f).node().id() +
+                        ", loc=" + ((MiniFuture)f).node().isLocal() +
+                        ", done=" + f.isDone() + "]";
+                }
+                else if (f instanceof MvccCoordinatorFuture) {
+                    MvccCoordinatorFuture crdFut = (MvccCoordinatorFuture)f;
+
+                    return "[mvccCrdNode=" + crdFut.coordinatorNodeId() +
+                        ", loc=" + 
crdFut.coordinatorNodeId().equals(cctx.localNodeId()) +
+                        ", done=" + f.isDone() + "]";
+                }
+                else
+                    return f.toString();
             }
         });
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b790aa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
index a4b98da..4b1d846 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFutureAdapter.java
@@ -352,7 +352,9 @@ public abstract class 
GridNearOptimisticTxPrepareFutureAdapter extends GridNearT
 
         /** {@inheritDoc} */
         @Override public String toString() {
-            return "MvccVersionFuture [crd=" + crd.nodeId() + ", lockCnt=" + 
lockCnt + ", isDone=" + isDone() + ']';
+            return "MvccVersionFuture [crd=" + crd.nodeId() +
+                ", lockCnt=" + lockCnt +
+                ", done=" + isDone() + ']';
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b790aa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
index f7c516d..ef2c359 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java
@@ -38,6 +38,7 @@ import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartit
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxMapping;
 import 
org.apache.ignite.internal.processors.cache.mvcc.CacheCoordinatorsProcessor;
 import org.apache.ignite.internal.processors.cache.mvcc.MvccCoordinator;
+import org.apache.ignite.internal.processors.cache.mvcc.MvccCoordinatorFuture;
 import org.apache.ignite.internal.processors.cache.mvcc.MvccCoordinatorVersion;
 import org.apache.ignite.internal.processors.cache.mvcc.MvccResponseListener;
 import org.apache.ignite.internal.processors.cache.mvcc.TxMvccInfo;
@@ -498,12 +499,11 @@ public class GridNearPessimisticTxPrepareFuture extends 
GridNearTxPrepareFutureA
                         ", loc=" + ((MiniFuture)f).primary().isLocal() +
                         ", done=" + f.isDone() + "]";
                 }
-                else if (f instanceof 
CacheCoordinatorsProcessor.MvccVersionFuture) {
-                    CacheCoordinatorsProcessor.MvccVersionFuture crdFut =
-                        (CacheCoordinatorsProcessor.MvccVersionFuture)f;
+                else if (f instanceof MvccCoordinatorFuture) {
+                    MvccCoordinatorFuture crdFut = (MvccCoordinatorFuture)f;
 
-                    return "[mvccCrdNode=" + crdFut.crd.nodeId() +
-                        ", loc=" + 
crdFut.crd.nodeId().equals(cctx.localNodeId()) +
+                    return "[mvccCrdNode=" + crdFut.coordinatorNodeId() +
+                        ", loc=" + 
crdFut.coordinatorNodeId().equals(cctx.localNodeId()) +
                         ", done=" + f.isDone() + "]";
                 }
                 else

http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b790aa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
index a60fd1b..14536e4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java
@@ -42,6 +42,7 @@ import 
org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxMapping;
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxFinishRequest;
 import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxFinishResponse;
+import org.apache.ignite.internal.processors.cache.mvcc.MvccCoordinatorFuture;
 import org.apache.ignite.internal.processors.cache.mvcc.MvccQueryTracker;
 import org.apache.ignite.internal.processors.cache.mvcc.TxMvccInfo;
 import 
org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx;
@@ -859,6 +860,11 @@ public final class GridNearTxFinishFuture<K, V> extends 
GridCacheCompoundIdentit
 
                     return "CheckRemoteTxMiniFuture[nodes=" + fut.nodes() + ", 
done=" + f.isDone() + "]";
                 }
+                else if (f instanceof MvccCoordinatorFuture) {
+                    MvccCoordinatorFuture fut = (MvccCoordinatorFuture)f;
+
+                    return "WaitPreviousTxsFut[mvccCrd=" + 
fut.coordinatorNodeId() + ", done=" + f.isDone() + "]";
+                }
                 else
                     return "[loc=true, done=" + f.isDone() + "]";
             }

http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b790aa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
index 27cbad9..fd3c2af 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
@@ -1161,7 +1161,7 @@ public class CacheCoordinatorsProcessor extends 
GridProcessorAdapter {
     /**
      *
      */
-    public class MvccVersionFuture extends 
GridFutureAdapter<MvccCoordinatorVersion> {
+    private class MvccVersionFuture extends 
GridFutureAdapter<MvccCoordinatorVersion> implements MvccCoordinatorFuture {
         /** */
         private final Long id;
 
@@ -1188,6 +1188,11 @@ public class CacheCoordinatorsProcessor extends 
GridProcessorAdapter {
                 startTime = System.nanoTime();
         }
 
+        /** {@inheritDoc} */
+        @Override public UUID coordinatorNodeId() {
+            return crd.nodeId();
+        }
+
         /**
          * @param res Response.
          */
@@ -1231,7 +1236,7 @@ public class CacheCoordinatorsProcessor extends 
GridProcessorAdapter {
     /**
      *
      */
-    private class WaitAckFuture extends GridFutureAdapter<Void> {
+    private class WaitAckFuture extends GridFutureAdapter<Void> implements 
MvccCoordinatorFuture {
         /** */
         private final long id;
 
@@ -1247,6 +1252,7 @@ public class CacheCoordinatorsProcessor extends 
GridProcessorAdapter {
         /**
          * @param id Future ID.
          * @param crdId Coordinator node ID.
+         * @param ackTx {@code True} if ack tx commit, {@code false} if waits 
for previous txs.
          */
         WaitAckFuture(long id, UUID crdId, boolean ackTx) {
             assert crdId != null;
@@ -1259,6 +1265,11 @@ public class CacheCoordinatorsProcessor extends 
GridProcessorAdapter {
                 startTime = System.nanoTime();
         }
 
+        /** {@inheritDoc} */
+        @Override public UUID coordinatorNodeId() {
+            return crdId;
+        }
+
         /**
          *
          */

http://git-wip-us.apache.org/repos/asf/ignite/blob/b6b790aa/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorFuture.java
new file mode 100644
index 0000000..2d4e97b
--- /dev/null
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/MvccCoordinatorFuture.java
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ignite.internal.processors.cache.mvcc;
+
+import java.util.UUID;
+
+/**
+ *
+ */
+public interface MvccCoordinatorFuture {
+    /**
+     * @return Coordinator node ID.
+     */
+    public UUID coordinatorNodeId();
+}

Reply via email to