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/02/05 13:25:50 UTC
[14/14] ignite git commit: Reverting changes to compound future.
Reverting changes to compound future.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/11c369a9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/11c369a9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/11c369a9
Branch: refs/heads/ignite-2329-1
Commit: 11c369a9337ab905b95bb73c866bf7e3d8df6a23
Parents: c66d16c
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Feb 5 15:24:04 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Feb 5 15:24:04 2016 +0300
----------------------------------------------------------------------
.../util/future/GridCompoundFuture.java | 46 ++++++++++----------
1 file changed, 23 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/11c369a9/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 fca8741..c382497 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
@@ -17,10 +17,6 @@
package org.apache.ignite.internal.util.future;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.IgniteFutureCancelledCheckedException;
import org.apache.ignite.internal.IgniteInternalFuture;
@@ -35,6 +31,10 @@ import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteReducer;
import org.jetbrains.annotations.Nullable;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+
/**
* Future composed of multiple inner futures.
*/
@@ -54,7 +54,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
AtomicIntegerFieldUpdater.newUpdater(GridCompoundFuture.class, "lsnrCalls");
/** Futures. */
- protected ArrayList<IgniteInternalFuture<T>> futs;
+ protected final ArrayList<IgniteInternalFuture<T>> futs = new ArrayList<>();
/** Reducer. */
@GridToStringInclude
@@ -154,8 +154,10 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
*
* @return Collection of futures.
*/
- public synchronized Collection<IgniteInternalFuture<T>> futures() {
- return futs == null ? Collections.<IgniteInternalFuture<T>>emptyList() : new ArrayList<>(futs);
+ public Collection<IgniteInternalFuture<T>> futures() {
+ synchronized (futs) {
+ return new ArrayList<>(futs);
+ }
}
/**
@@ -176,16 +178,15 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
* @return {@code True} if there are pending futures.
*/
@SuppressWarnings("ForLoopReplaceableByForEach")
- public synchronized boolean hasPending() {
- if (futs == null)
- return false;
-
- // Avoid iterator creation and collection copy.
- for (int i = 0; i < futs.size(); i++) {
- IgniteInternalFuture<T> fut = futs.get(i);
-
- if (!fut.isDone())
- return true;
+ public boolean hasPending() {
+ synchronized (futs) {
+ // Avoid iterator creation and collection copy.
+ for (int i = 0; i < futs.size(); i++) {
+ IgniteInternalFuture<T> fut = futs.get(i);
+
+ if (!fut.isDone())
+ return true;
+ }
}
return false;
@@ -199,10 +200,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
public void add(IgniteInternalFuture<T> fut) {
assert fut != null;
- synchronized (this) {
- if (futs == null)
- futs = new ArrayList<>();
-
+ synchronized (futs) {
futs.add(fut);
}
@@ -260,8 +258,10 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> implements Ig
/**
* @return Futures size.
*/
- protected synchronized int futuresSize() {
- return futs == null ? 0 : futs.size();
+ private int futuresSize() {
+ synchronized (futs) {
+ return futs.size();
+ }
}
/** {@inheritDoc} */