You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/08/09 07:45:43 UTC
[1/6] ignite git commit: IGNITE-2545 : Allocate ArrayList for futures
only after second future is added
Repository: ignite
Updated Branches:
refs/heads/ignite-2545 [created] d2518fdee
IGNITE-2545 : Allocate ArrayList for futures only after second future is added
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/07186d28
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/07186d28
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/07186d28
Branch: refs/heads/ignite-2545
Commit: 07186d288b5d90034b280b2c9d53e4c572853595
Parents: 043c3a2
Author: Andrey V. Mashenkov <an...@gmail.com>
Authored: Mon Aug 8 18:23:22 2016 +0300
Committer: Andrey V. Mashenkov <an...@gmail.com>
Committed: Mon Aug 8 18:23:22 2016 +0300
----------------------------------------------------------------------
.../distributed/GridCacheTxRecoveryFuture.java | 6 +-
.../distributed/dht/GridDhtLockFuture.java | 6 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 6 +-
.../colocated/GridDhtColocatedLockFuture.java | 6 +-
.../distributed/near/GridNearLockFuture.java | 6 +-
...arOptimisticSerializableTxPrepareFuture.java | 6 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 6 +-
.../GridNearPessimisticTxPrepareFuture.java | 6 +-
.../near/GridNearTxFinishFuture.java | 6 +-
.../util/future/GridCompoundFuture.java | 88 ++++++++++++++++----
10 files changed, 97 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
index 7312386..2065233 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
@@ -426,10 +426,10 @@ public class GridCacheTxRecoveryFuture extends GridCompoundIdentityFuture<Boolea
@SuppressWarnings("ForLoopReplaceableByForEach")
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<Boolean> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<Boolean> fut = futureGet(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 64b8745..185d530 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -546,10 +546,10 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
@SuppressWarnings("ForLoopReplaceableByForEach")
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- MiniFuture mini = (MiniFuture)futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ MiniFuture mini = (MiniFuture)futureGet(i);
if (mini.futureId().equals(miniId)) {
if (!mini.isDone())
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index e9805aa..87357cc 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -526,10 +526,10 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter
@SuppressWarnings("ForLoopReplaceableByForEach")
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<IgniteInternalTx> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<IgniteInternalTx> fut = futureGet(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index f77efee..79389fd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -471,10 +471,10 @@ public final class GridDhtColocatedLockFuture extends GridCompoundIdentityFuture
@SuppressWarnings({"ForLoopReplaceableByForEach", "IfMayBeConditional"})
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<Boolean> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<Boolean> fut = futureGet(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
index 4b6448b..9c53ffb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -489,10 +489,10 @@ public final class GridNearLockFuture extends GridCompoundIdentityFuture<Boolean
@SuppressWarnings({"ForLoopReplaceableByForEach", "IfMayBeConditional"})
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<Boolean> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<Boolean> fut = futureGet(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
index 6515140..3e36e1a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
@@ -229,10 +229,10 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
@SuppressWarnings("ForLoopReplaceableByForEach")
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<GridNearTxPrepareResponse> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<GridNearTxPrepareResponse> fut = futureGet(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
index 1ea99c4..cfe9542 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
@@ -190,10 +190,10 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
@SuppressWarnings("ForLoopReplaceableByForEach")
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<GridNearTxPrepareResponse> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<GridNearTxPrepareResponse> fut = futureGet(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/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 5d347d7..711bec2 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
@@ -132,10 +132,10 @@ public class GridNearPessimisticTxPrepareFuture extends GridNearTxPrepareFutureA
@SuppressWarnings("ForLoopReplaceableByForEach")
private MiniFuture miniFuture(IgniteUuid miniId) {
// We iterate directly over the futs collection here to avoid copy.
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futs.size(); i++) {
- MiniFuture mini = (MiniFuture)futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ MiniFuture mini = (MiniFuture)futureGet(i);
if (mini.futureId().equals(miniId)) {
if (!mini.isDone())
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/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 39f3ff3..0a8a7ce 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
@@ -195,9 +195,9 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
if (!isDone()) {
FinishMiniFuture finishFut = null;
- synchronized (futs) {
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<IgniteInternalTx> fut = futs.get(i);
+ synchronized (sync) {
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<IgniteInternalTx> fut = futureGet(i);
if (fut.getClass() == FinishMiniFuture.class) {
FinishMiniFuture f = (FinishMiniFuture)fut;
http://git-wip-us.apache.org/repos/asf/ignite/blob/07186d28/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
index 3409341..b50fd55 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
@@ -33,6 +33,8 @@ import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
/**
@@ -53,8 +55,11 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
private static final AtomicIntegerFieldUpdater<GridCompoundFuture> LSNR_CALLS_UPD =
AtomicIntegerFieldUpdater.newUpdater(GridCompoundFuture.class, "lsnrCalls");
- /** Futures. */
- protected final ArrayList<IgniteInternalFuture<T>> futs = new ArrayList<>();
+ /** Sync object */
+ protected final Object sync = new Object();
+
+ /** Possible values: null (no future), IgniteInternalFuture instance (single future) or List of futures */
+ private volatile Object futs;
/** Reducer. */
@GridToStringInclude
@@ -155,8 +160,14 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
* @return Collection of futures.
*/
public Collection<IgniteInternalFuture<T>> futures() {
- synchronized (futs) {
- return new ArrayList<>(futs);
+ synchronized (sync) {
+ if(futs == null)
+ return Collections.emptyList();
+
+ if (futs instanceof IgniteInternalFuture)
+ return Collections.singletonList((IgniteInternalFuture<T>)futs);
+
+ return new ArrayList<>((Collection<IgniteInternalFuture<T>>)futs);
}
}
@@ -179,10 +190,10 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
*/
@SuppressWarnings("ForLoopReplaceableByForEach")
public boolean hasPending() {
- synchronized (futs) {
+ synchronized (sync) {
// Avoid iterator creation and collection copy.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<T> fut = futs.get(i);
+ for (int i = 0; i < futuresSize(); i++) {
+ IgniteInternalFuture<T> fut = futureGet(i);
if (!fut.isDone())
return true;
@@ -200,8 +211,19 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
public void add(IgniteInternalFuture<T> fut) {
assert fut != null;
- synchronized (futs) {
- futs.add(fut);
+ synchronized (sync) {
+ if (futs == null)
+ futs = fut;
+ else if (futs instanceof IgniteInternalFuture) {
+ Collection<IgniteInternalFuture<T>> list = new ArrayList<>(2);
+
+ list.add((IgniteInternalFuture<T>)futs);
+ list.add(fut);
+
+ futs = list;
+ }
+ else
+ ((Collection<IgniteInternalFuture>)futs).add(fut);
}
fut.listen(this);
@@ -217,8 +239,8 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
}
/**
- * @return {@code True} if this future was initialized. Initialization happens when
- * {@link #markInitialized()} method is called on future.
+ * @return {@code True} if this future was initialized. Initialization happens when {@link #markInitialized()}
+ * method is called on future.
*/
public boolean initialized() {
return initFlag == INIT_FLAG;
@@ -256,11 +278,41 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
}
/**
+ * Returns future at the specified position in this list.
+ *
+ * @param idx - index index of the element to return
+ * @return Future.
+ */
+ protected IgniteInternalFuture<T> futureGet(int idx) {
+ assert idx >= 0;
+
+ Object futs0 = futs;
+
+ if (futs0 == null)
+ throw new IndexOutOfBoundsException("Index: " + idx + ", Size: 0");
+
+ if (futs0 instanceof IgniteInternalFuture) {
+ if (idx > 0)
+ throw new IndexOutOfBoundsException("Index: " + idx + ", Size: 1");
+
+ return (IgniteInternalFuture<T>)futs0;
+ }
+
+ return ((List<IgniteInternalFuture<T>>)futs0).get(idx);
+ }
+
+ /**
* @return Futures size.
*/
protected int futuresSize() {
- synchronized (futs) {
- return futs.size();
+ synchronized (sync) {
+ if(futs==null)
+ return 0;
+
+ if (futs instanceof IgniteInternalFuture)
+ return 1;
+
+ return ((Collection<IgniteInternalFuture<T>>)futs).size();
}
}
@@ -271,11 +323,11 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
"cancelled", isCancelled(),
"err", error(),
"futs",
- F.viewReadOnly(futures(), new C1<IgniteInternalFuture<T>, String>() {
- @Override public String apply(IgniteInternalFuture<T> f) {
- return Boolean.toString(f.isDone());
- }
- })
+ F.viewReadOnly(futures(), new C1<IgniteInternalFuture<T>, String>() {
+ @Override public String apply(IgniteInternalFuture<T> f) {
+ return Boolean.toString(f.isDone());
+ }
+ })
);
}
}
[4/6] ignite git commit: Minors.
Posted by vo...@apache.org.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5fb0a54d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5fb0a54d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5fb0a54d
Branch: refs/heads/ignite-2545
Commit: 5fb0a54d1ce498ec54d999046179029db1748682
Parents: 65d1b9d
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 9 10:39:50 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 9 10:39:50 2016 +0300
----------------------------------------------------------------------
.../ignite/internal/util/future/GridCompoundFuture.java | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/5fb0a54d/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
index a78e5a8..941d88b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
@@ -208,6 +208,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
*
* @param fut Future to add.
*/
+ @SuppressWarnings("unchecked")
public void add(IgniteInternalFuture<T> fut) {
assert fut != null;
@@ -215,12 +216,12 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
if (futs == null)
futs = fut;
else if (futs instanceof IgniteInternalFuture) {
- Collection<IgniteInternalFuture<T>> list = new ArrayList<>(2);
+ Collection<IgniteInternalFuture> futs0 = new ArrayList<>(4);
- list.add((IgniteInternalFuture<T>)futs);
- list.add(fut);
+ futs0.add((IgniteInternalFuture)futs);
+ futs0.add(fut);
- futs = list;
+ futs = futs0;
}
else
((Collection<IgniteInternalFuture>)futs).add(fut);
[2/6] ignite git commit: Merge branch 'ignite-2545' of
https://github.com/AMashenkov/ignite into ignite-2545
Posted by vo...@apache.org.
Merge branch 'ignite-2545' of https://github.com/AMashenkov/ignite into ignite-2545
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ebe52afc
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ebe52afc
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ebe52afc
Branch: refs/heads/ignite-2545
Commit: ebe52afc0b2066b31537433764f4df3c7da1ea46
Parents: 789b2f3 07186d2
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 9 10:25:10 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 9 10:25:10 2016 +0300
----------------------------------------------------------------------
.../distributed/GridCacheTxRecoveryFuture.java | 6 +-
.../distributed/dht/GridDhtLockFuture.java | 6 +-
.../distributed/dht/GridDhtTxPrepareFuture.java | 6 +-
.../colocated/GridDhtColocatedLockFuture.java | 6 +-
.../distributed/near/GridNearLockFuture.java | 6 +-
...arOptimisticSerializableTxPrepareFuture.java | 6 +-
.../near/GridNearOptimisticTxPrepareFuture.java | 6 +-
.../GridNearPessimisticTxPrepareFuture.java | 6 +-
.../near/GridNearTxFinishFuture.java | 6 +-
.../util/future/GridCompoundFuture.java | 88 ++++++++++++++++----
10 files changed, 97 insertions(+), 45 deletions(-)
----------------------------------------------------------------------
[3/6] ignite git commit: Minors.
Posted by vo...@apache.org.
Minors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/65d1b9d7
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/65d1b9d7
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/65d1b9d7
Branch: refs/heads/ignite-2545
Commit: 65d1b9d772db23209a0d23d29da451a3436b55a2
Parents: ebe52af
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 9 10:37:53 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 9 10:37:53 2016 +0300
----------------------------------------------------------------------
.../cache/distributed/GridCacheTxRecoveryFuture.java | 4 ++--
.../cache/distributed/dht/GridDhtGetFuture.java | 4 +---
.../cache/distributed/dht/GridDhtLockFuture.java | 4 ++--
.../cache/distributed/dht/GridDhtTxPrepareFuture.java | 4 ++--
.../dht/colocated/GridDhtColocatedLockFuture.java | 4 ++--
.../cache/distributed/near/GridNearLockFuture.java | 4 ++--
.../GridNearOptimisticSerializableTxPrepareFuture.java | 4 ++--
.../near/GridNearOptimisticTxPrepareFuture.java | 4 ++--
.../near/GridNearPessimisticTxPrepareFuture.java | 4 ++--
.../cache/distributed/near/GridNearTxFinishFuture.java | 4 ++--
.../ignite/internal/util/future/GridCompoundFuture.java | 12 ++++++------
11 files changed, 25 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
index 2065233..c07a817 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheTxRecoveryFuture.java
@@ -428,8 +428,8 @@ public class GridCacheTxRecoveryFuture extends GridCompoundIdentityFuture<Boolea
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<Boolean> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<Boolean> fut = future(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
index 913580f..d2a3b3c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetFuture.java
@@ -29,7 +29,6 @@ import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.NodeStoppingException;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -50,7 +49,6 @@ import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.lang.IgniteBiClosure;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -277,7 +275,7 @@ public final class GridDhtGetFuture<K, V> extends GridCompoundIdentityFuture<Col
// Optimization to avoid going through compound future,
// if getAsync() has been completed and no other futures added to this
// compound future.
- if (fut.isDone() && futuresSize() == 0) {
+ if (fut.isDone() && futuresCount() == 0) {
if (fut.error() != null)
onDone(fut.error());
else
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
index 185d530..187c8a4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java
@@ -548,8 +548,8 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- MiniFuture mini = (MiniFuture)futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ MiniFuture mini = (MiniFuture) future(i);
if (mini.futureId().equals(miniId)) {
if (!mini.isDone())
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 87357cc..2800897 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -528,8 +528,8 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<IgniteInternalTx> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<IgniteInternalTx> fut = future(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
index 79389fd..05b4a2b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedLockFuture.java
@@ -473,8 +473,8 @@ public final class GridDhtColocatedLockFuture extends GridCompoundIdentityFuture
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<Boolean> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<Boolean> fut = future(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
index 9c53ffb..3b53c5e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearLockFuture.java
@@ -491,8 +491,8 @@ public final class GridNearLockFuture extends GridCompoundIdentityFuture<Boolean
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<Boolean> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<Boolean> fut = future(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
index 3e36e1a..cd0ce44 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java
@@ -231,8 +231,8 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<GridNearTxPrepareResponse> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<GridNearTxPrepareResponse> fut = future(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
index cfe9542..7a49422 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticTxPrepareFuture.java
@@ -192,8 +192,8 @@ public class GridNearOptimisticTxPrepareFuture extends GridNearOptimisticTxPrepa
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<GridNearTxPrepareResponse> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<GridNearTxPrepareResponse> fut = future(i);
if (!isMini(fut))
continue;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/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 711bec2..a353ed5 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
@@ -134,8 +134,8 @@ public class GridNearPessimisticTxPrepareFuture extends GridNearTxPrepareFutureA
// We iterate directly over the futs collection here to avoid copy.
synchronized (sync) {
// Avoid iterator creation.
- for (int i = 0; i < futuresSize(); i++) {
- MiniFuture mini = (MiniFuture)futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ MiniFuture mini = (MiniFuture) future(i);
if (mini.futureId().equals(miniId)) {
if (!mini.isDone())
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/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 0a8a7ce..c96651c 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
@@ -196,8 +196,8 @@ public final class GridNearTxFinishFuture<K, V> extends GridCompoundIdentityFutu
FinishMiniFuture finishFut = null;
synchronized (sync) {
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<IgniteInternalTx> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<IgniteInternalTx> fut = future(i);
if (fut.getClass() == FinishMiniFuture.class) {
FinishMiniFuture f = (FinishMiniFuture)fut;
http://git-wip-us.apache.org/repos/asf/ignite/blob/65d1b9d7/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
index b50fd55..a78e5a8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
@@ -192,8 +192,8 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
public boolean hasPending() {
synchronized (sync) {
// Avoid iterator creation and collection copy.
- for (int i = 0; i < futuresSize(); i++) {
- IgniteInternalFuture<T> fut = futureGet(i);
+ for (int i = 0; i < futuresCount(); i++) {
+ IgniteInternalFuture<T> fut = future(i);
if (!fut.isDone())
return true;
@@ -258,7 +258,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
* Check completeness of the future.
*/
private void checkComplete() {
- if (initialized() && !isDone() && lsnrCalls == futuresSize()) {
+ if (initialized() && !isDone() && lsnrCalls == futuresCount()) {
try {
onDone(rdc != null ? rdc.reduce() : null);
}
@@ -283,7 +283,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
* @param idx - index index of the element to return
* @return Future.
*/
- protected IgniteInternalFuture<T> futureGet(int idx) {
+ protected IgniteInternalFuture<T> future(int idx) {
assert idx >= 0;
Object futs0 = futs;
@@ -304,9 +304,9 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
/**
* @return Futures size.
*/
- protected int futuresSize() {
+ protected int futuresCount() {
synchronized (sync) {
- if(futs==null)
+ if (futs==null)
return 0;
if (futs instanceof IgniteInternalFuture)
[6/6] ignite git commit: MInors.
Posted by vo...@apache.org.
MInors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d2518fde
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d2518fde
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d2518fde
Branch: refs/heads/ignite-2545
Commit: d2518fdeea4833585db0cab1c3dfec69a1fccf37
Parents: a01391c
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 9 10:44:54 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 9 10:44:54 2016 +0300
----------------------------------------------------------------------
.../apache/ignite/internal/util/future/GridCompoundFuture.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/d2518fde/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
index 80fac56..14b6a16 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
@@ -286,11 +286,8 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
*/
@SuppressWarnings("unchecked")
protected IgniteInternalFuture<T> future(int idx) {
- assert idx >= 0;
- assert idx < futuresCount();
- assert futs != null;
-
assert Thread.holdsLock(sync);
+ assert futs != null && idx >= 0 && idx < futuresCount();
if (futs instanceof IgniteInternalFuture) {
assert idx == 0;
[5/6] ignite git commit: MInors.
Posted by vo...@apache.org.
MInors.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a01391c8
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a01391c8
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a01391c8
Branch: refs/heads/ignite-2545
Commit: a01391c8cc8828666424c667638310ad4fcd0d16
Parents: 5fb0a54
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Tue Aug 9 10:43:37 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Tue Aug 9 10:43:37 2016 +0300
----------------------------------------------------------------------
.../util/future/GridCompoundFuture.java | 22 ++++++++++----------
1 file changed, 11 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a01391c8/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
index 941d88b..80fac56 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
@@ -284,27 +284,27 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
* @param idx - index index of the element to return
* @return Future.
*/
+ @SuppressWarnings("unchecked")
protected IgniteInternalFuture<T> future(int idx) {
assert idx >= 0;
+ assert idx < futuresCount();
+ assert futs != null;
- Object futs0 = futs;
-
- if (futs0 == null)
- throw new IndexOutOfBoundsException("Index: " + idx + ", Size: 0");
+ assert Thread.holdsLock(sync);
- if (futs0 instanceof IgniteInternalFuture) {
- if (idx > 0)
- throw new IndexOutOfBoundsException("Index: " + idx + ", Size: 1");
+ if (futs instanceof IgniteInternalFuture) {
+ assert idx == 0;
- return (IgniteInternalFuture<T>)futs0;
+ return (IgniteInternalFuture<T>)futs;
}
-
- return ((List<IgniteInternalFuture<T>>)futs0).get(idx);
+ else
+ return ((List<IgniteInternalFuture>)futs).get(idx);
}
/**
* @return Futures size.
*/
+ @SuppressWarnings("unchecked")
protected int futuresCount() {
synchronized (sync) {
if (futs==null)
@@ -313,7 +313,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
if (futs instanceof IgniteInternalFuture)
return 1;
- return ((Collection<IgniteInternalFuture<T>>)futs).size();
+ return ((Collection<IgniteInternalFuture>)futs).size();
}
}