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 2015/12/23 14:52:13 UTC
[2/5] ignite git commit: IGNITE-2236: Reworked "ignoreChildFailures"
- it is removed.
IGNITE-2236: Reworked "ignoreChildFailures" - it is removed.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f688f10e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f688f10e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f688f10e
Branch: refs/heads/ignite-2236
Commit: f688f10e68d453094d5b20657c7f39ad4e4bb505
Parents: 0e59144
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Wed Dec 23 16:02:41 2015 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Wed Dec 23 16:02:41 2015 +0300
----------------------------------------------------------------------
.../processors/cache/GridCacheMvccManager.java | 17 ++++++++--
...arOptimisticSerializableTxPrepareFuture.java | 6 ++--
.../GridNearPessimisticTxPrepareFuture.java | 6 ++--
.../util/future/GridCompoundFuture.java | 33 ++++----------------
4 files changed, 28 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/f688f10e/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
index a297773..c30bcb4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
@@ -978,9 +978,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
*/
@SuppressWarnings("unchecked")
public IgniteInternalFuture<?> finishAtomicUpdates(AffinityTopologyVersion topVer) {
- GridCompoundFuture<Object, Object> res = new GridCompoundFuture<>();
-
- res.ignoreChildFailures(ClusterTopologyCheckedException.class, CachePartialUpdateCheckedException.class);
+ GridCompoundFuture<Object, Object> res = new FinishAtomicUpdateFuture();
for (GridCacheAtomicFuture<?> fut : atomicFuts.values()) {
IgniteInternalFuture<Void> complete = fut.completeFuture(topVer);
@@ -1219,6 +1217,19 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
}
/**
+ * Finish atomic update future.
+ */
+ private static class FinishAtomicUpdateFuture extends GridCompoundFuture<Object, Object> {
+ /** {@inheritDoc} */
+ @Override protected boolean ignoreFailure(Throwable err) {
+ Class cls = err.getClass();
+
+ return ClusterTopologyCheckedException.class.isAssignableFrom(cls) ||
+ CachePartialUpdateCheckedException.class.isAssignableFrom(cls);
+ }
+ }
+
+ /**
* Thread local for pending MVCC candidates.
*/
private static class MvccCandidateThreadLocal extends ThreadLocal<ArrayList<GridCacheMvccCandidate>> {
http://git-wip-us.apache.org/repos/asf/ignite/blob/f688f10e/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 f52b3fc..a2b5520 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
@@ -88,9 +88,11 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim
super(cctx, tx);
assert tx.optimistic() && tx.serializable() : tx;
+ }
- // Should wait for all mini futures completion before finishing tx.
- ignoreChildFailures(IgniteCheckedException.class);
+ /** {@inheritDoc} */
+ @Override protected boolean ignoreFailure(Throwable err) {
+ return IgniteCheckedException.class.isAssignableFrom(err.getClass());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/f688f10e/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 ffe5373..0f0121c 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
@@ -63,9 +63,11 @@ public class GridNearPessimisticTxPrepareFuture extends GridNearTxPrepareFutureA
super(cctx, tx);
assert tx.pessimistic() : tx;
+ }
- // Should wait for all mini futures completion before finishing tx.
- ignoreChildFailures(IgniteCheckedException.class);
+ /** {@inheritDoc} */
+ @Override protected boolean ignoreFailure(Throwable err) {
+ return IgniteCheckedException.class.isAssignableFrom(err.getClass());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/f688f10e/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 6812aec..4d9029f 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
@@ -64,9 +64,6 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> {
@GridToStringInclude
private IgniteReducer<T, R> rdc;
- /** Exceptions to ignore. */
- private Class<? extends Throwable>[] ignoreChildFailures;
-
/**
* Updated via {@link #flagsUpd}.
*
@@ -142,11 +139,13 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> {
}
/**
- * @param ignoreChildFailures Flag indicating whether compound future should ignore child futures failures.
+ * Checks if this compound future should ignore this particular exception.
+ *
+ * @param err Exception to check.
+ * @return {@code True} if this error should be ignored.
*/
- @SafeVarargs
- public final void ignoreChildFailures(Class<? extends Throwable>... ignoreChildFailures) {
- this.ignoreChildFailures = ignoreChildFailures;
+ protected boolean ignoreFailure(Throwable err) {
+ return false;
}
/**
@@ -278,26 +277,6 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> {
}
}
- /**
- * Checks if this compound future should ignore this particular exception.
- *
- * @param err Exception to check.
- * @return {@code True} if this error should be ignored.
- */
- private boolean ignoreFailure(@Nullable Throwable err) {
- if (err == null)
- return true;
-
- if (ignoreChildFailures != null) {
- for (Class<? extends Throwable> ignoreCls : ignoreChildFailures) {
- if (ignoreCls.isAssignableFrom(err.getClass()))
- return true;
- }
- }
-
- return false;
- }
-
/** {@inheritDoc} */
@Override public String toString() {
return S.toString(GridCompoundFuture.class, this,