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/11/26 11:01:35 UTC
[14/34] ignite git commit: ignite-1.5 - Fixing tests.
ignite-1.5 - Fixing tests.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/385668b3
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/385668b3
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/385668b3
Branch: refs/heads/ignite-1956
Commit: 385668b3bd9a77f87c11e39a7d915a54a48e39be
Parents: 7680392
Author: Alexey Goncharuk <al...@gmail.com>
Authored: Tue Nov 24 19:34:35 2015 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Tue Nov 24 19:34:35 2015 +0300
----------------------------------------------------------------------
.../ignite/internal/NodeStoppingException.java | 35 ++++++++++++++++++++
.../processors/cache/GridCacheIoManager.java | 4 +++
.../processors/cache/GridCacheMvccManager.java | 3 +-
.../distributed/dht/GridDhtLockFuture.java | 19 ++++++-----
.../CacheObjectBinaryProcessorImpl.java | 6 ++--
5 files changed, 54 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/385668b3/modules/core/src/main/java/org/apache/ignite/internal/NodeStoppingException.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/NodeStoppingException.java b/modules/core/src/main/java/org/apache/ignite/internal/NodeStoppingException.java
new file mode 100644
index 0000000..164983a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/NodeStoppingException.java
@@ -0,0 +1,35 @@
+/*
+ * 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;
+
+import org.apache.ignite.IgniteCheckedException;
+
+/**
+ *
+ */
+public class NodeStoppingException extends IgniteCheckedException {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * @param msg Exception message.
+ */
+ public NodeStoppingException(String msg) {
+ super(msg);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/385668b3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
index 7b1d749..f7fe5bd 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java
@@ -28,6 +28,7 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.IgniteException;
import org.apache.ignite.IgniteLogger;
+import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
@@ -1036,6 +1037,9 @@ public class GridCacheIoManager extends GridCacheSharedManagerAdapter {
catch (IgniteCheckedException e) {
cacheMsg.onClassError(e);
}
+ catch (BinaryObjectException e) {
+ cacheMsg.onClassError(new IgniteCheckedException(e));
+ }
catch (Error e) {
if (cacheMsg.ignoreClassErrors() && X.hasCause(e, NoClassDefFoundError.class,
UnsupportedClassVersionError.class))
http://git-wip-us.apache.org/repos/asf/ignite/blob/385668b3/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 2449df1..dbc6992 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
@@ -34,6 +34,7 @@ import org.apache.ignite.events.DiscoveryEvent;
import org.apache.ignite.events.Event;
import org.apache.ignite.internal.IgniteClientDisconnectedCheckedException;
import org.apache.ignite.internal.IgniteInternalFuture;
+import org.apache.ignite.internal.NodeStoppingException;
import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.managers.eventstorage.GridLocalEventListener;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
@@ -369,7 +370,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
* @return Node stop exception.
*/
private IgniteCheckedException stopError() {
- return new IgniteCheckedException("Operation has been cancelled (node is stopping).");
+ return new NodeStoppingException("Operation has been cancelled (node is stopping).");
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/385668b3/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 7792de3..491ccd2 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
@@ -32,6 +32,7 @@ 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.cluster.ClusterTopologyCheckedException;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.CacheEntryPredicate;
@@ -481,7 +482,7 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
private void onFailed(boolean dist) {
undoLocks(dist);
- onComplete(false);
+ onComplete(false, false);
}
/**
@@ -627,7 +628,7 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
err = t;
}
- onComplete(false);
+ onComplete(false, false);
}
/**
@@ -690,7 +691,7 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
/** {@inheritDoc} */
@Override public boolean cancel() {
if (onCancelled())
- onComplete(false);
+ onComplete(false, false);
return isCancelled();
}
@@ -720,7 +721,7 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
this.err = err;
}
- return onComplete(success);
+ return onComplete(success, err instanceof NodeStoppingException);
}
/**
@@ -729,17 +730,17 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
* @param success {@code True} if lock was acquired.
* @return {@code True} if complete by this operation.
*/
- private boolean onComplete(boolean success) {
+ private boolean onComplete(boolean success, boolean stopping) {
if (log.isDebugEnabled())
log.debug("Received onComplete(..) callback [success=" + success + ", fut=" + this + ']');
- if (!success)
+ if (!success && !stopping)
undoLocks(true);
if (tx != null)
cctx.tm().txContext(tx);
- if (err == null)
+ if (err == null && !stopping)
loadMissingFromStore();
if (super.onDone(success, err)) {
@@ -771,7 +772,7 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
*/
public void map() {
if (F.isEmpty(entries)) {
- onComplete(true);
+ onComplete(true, false);
return;
}
@@ -1062,7 +1063,7 @@ public final class GridDhtLockFuture extends GridCompoundIdentityFuture<Boolean>
timedOut = true;
- onComplete(false);
+ onComplete(false, false);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/385668b3/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
index dd9d43f..ba7d6f8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/portable/CacheObjectBinaryProcessorImpl.java
@@ -429,9 +429,9 @@ public class CacheObjectBinaryProcessorImpl extends IgniteCacheObjectProcessorIm
Object obj0 = portableMarsh.unmarshal(arr, null);
- assert obj0 instanceof BinaryObject;
-
- ((BinaryObjectImpl)obj0).detachAllowed(true);
+ // Possible if a class has writeObject method.
+ if (obj0 instanceof BinaryObject)
+ ((BinaryObjectImpl)obj0).detachAllowed(true);
return obj0;
}