This is an automated email from the ASF dual-hosted git repository.
gvvinblade pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 367b75f IGNITE-10582: MVCC TX: Exception handling fixed. This closes
#5839.
367b75f is described below
commit 367b75f2aad34c7021f55cfd3f336d68ad7da521
Author: Andrey V. Mashenkov <[email protected]>
AuthorDate: Thu Feb 14 15:59:47 2019 +0300
IGNITE-10582: MVCC TX: Exception handling fixed. This closes #5839.
---
.../processors/cache/IgniteCacheProxyImpl.java | 3 +++
.../cache/query/GridCacheQueryFutureAdapter.java | 19 +++++++++++--------
...eClusterActivateDeactivateTestWithPersistence.java | 4 ----
...niteRebalanceOnCachesStoppingOrDestroyingTest.java | 6 ------
.../processors/cache/mvcc/CacheMvccAbstractTest.java | 6 ++++++
.../cache/mvcc/CacheMvccTransactionsTest.java | 1 -
.../IgnitePdsCacheAssignmentNodeRestartsTest.java | 4 ----
.../persistence/db/IgniteLogicalRecoveryTest.java | 4 +---
8 files changed, 21 insertions(+), 26 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java
index a3ca605..a305e7c 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxyImpl.java
@@ -799,6 +799,9 @@ public class IgniteCacheProxyImpl<K, V> extends
AsyncSupportAdapter<IgniteCache<
return (QueryCursor<R>)query(qry, projection(qry.isLocal()));
}
+ catch (IgniteCheckedException e) {
+ throw cacheException(e);
+ }
catch (Exception e) {
if (e instanceof CacheException)
throw (CacheException)e;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryFutureAdapter.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryFutureAdapter.java
index 4330cd0..e316da5 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryFutureAdapter.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryFutureAdapter.java
@@ -251,7 +251,7 @@ public abstract class GridCacheQueryFutureAdapter<K, V, R>
extends GridFutureAda
if (error() != null) {
clear();
- throw new IgniteCheckedException("Query execution failed: " + qry,
error());
+ throw U.cast(error());
}
}
@@ -374,13 +374,16 @@ public abstract class GridCacheQueryFutureAdapter<K, V,
R> extends GridFutureAda
synchronized (this) {
enqueue(Collections.emptyList());
- onDone(new IgniteCheckedException(nodeId != null ?
- S.toString("Failed to execute query on node",
- "query", qry, true,
- "nodeId", nodeId, false) :
- S.toString("Failed to execute query locally",
- "query", qry, true),
- err));
+ if (err instanceof IgniteCheckedException)
+ onDone(err);
+ else
+ onDone(new IgniteCheckedException(nodeId != null ?
+ S.toString("Failed to execute query on node",
+ "query", qry, true,
+ "nodeId", nodeId, false) :
+ S.toString("Failed to execute query locally",
+ "query", qry, true),
+ err));
onPage(nodeId, true);
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTestWithPersistence.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTestWithPersistence.java
index 24e76d4..c38809f 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTestWithPersistence.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteClusterActivateDeactivateTestWithPersistence.java
@@ -42,9 +42,7 @@ import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.spi.IgniteSpiException;
import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.testframework.MvccFeatureChecker;
import org.junit.Assert;
-import org.junit.Assume;
import org.junit.Test;
import static
org.apache.ignite.testframework.GridTestUtils.assertThrowsAnyCause;
@@ -116,8 +114,6 @@ public class
IgniteClusterActivateDeactivateTestWithPersistence extends IgniteCl
*/
@Test
public void testDeactivateInactiveCluster() throws Exception {
-
Assume.assumeFalse("https://issues.apache.org/jira/browse/IGNITE-10582",
MvccFeatureChecker.forcedMvcc());
-
ccfgs = new CacheConfiguration[] {
new CacheConfiguration<>("test_cache_1")
.setGroupName("test_cache")
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/IgniteRebalanceOnCachesStoppingOrDestroyingTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/IgniteRebalanceOnCachesStoppingOrDestroyingTest.java
index 6e04b12..49f35e3 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/IgniteRebalanceOnCachesStoppingOrDestroyingTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/rebalancing/IgniteRebalanceOnCachesStoppingOrDestroyingTest.java
@@ -46,9 +46,7 @@ import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.lang.IgniteRunnable;
import org.apache.ignite.plugin.extensions.communication.Message;
import org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi;
-import org.apache.ignite.testframework.MvccFeatureChecker;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.junit.Assume;
import org.junit.Test;
/**
@@ -140,8 +138,6 @@ public class
IgniteRebalanceOnCachesStoppingOrDestroyingTest extends GridCommonA
* @throws Exception If failed.
*/
private void testStopCachesOnDeactivation(String groupName) throws
Exception {
-
Assume.assumeFalse("https://issues.apache.org/jira/browse/IGNITE-10582",
MvccFeatureChecker.forcedMvcc());
-
performTest(ig -> {
ig.cluster().active(false);
@@ -201,8 +197,6 @@ public class
IgniteRebalanceOnCachesStoppingOrDestroyingTest extends GridCommonA
* @throws Exception If failed.
*/
private void testDestroySpecificCacheAndCacheGroup(String groupName)
throws Exception {
-
Assume.assumeFalse("https://issues.apache.org/jira/browse/IGNITE-10582",
MvccFeatureChecker.forcedMvcc());
-
performTest(ig -> {
ig.destroyCaches(Arrays.asList(CACHE_1, CACHE_3, CACHE_4));
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccAbstractTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccAbstractTest.java
index 1459f0a..0d78daa 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccAbstractTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccAbstractTest.java
@@ -1356,6 +1356,12 @@ public abstract class CacheMvccAbstractTest extends
GridCommonAbstractTest {
reader.apply(idx, caches, stop);
}
catch (Throwable e) {
+ if (restartMode != null && X.hasCause(e,
ClusterTopologyException.class)) {
+ log.info("Writer error: " + e);
+
+ return null;
+ }
+
error("Unexpected error: " + e, e);
stop.set(true);
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
index 2542c50..ad19735 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
@@ -2169,7 +2169,6 @@ public class CacheMvccTransactionsTest extends
CacheMvccAbstractTest {
/**
* @throws Exception If failed.
*/
- @Ignore("https://issues.apache.org/jira/browse/IGNITE-10582")
@Test
public void testNodesRestartNoHang() throws Exception {
final int srvs = 4;
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
index a07388c..8832755 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/IgnitePdsCacheAssignmentNodeRestartsTest.java
@@ -42,9 +42,7 @@ import
org.apache.ignite.internal.processors.cache.IgniteInternalCache;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.testframework.GridTestUtils;
-import org.apache.ignite.testframework.MvccFeatureChecker;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
-import org.junit.Assume;
import org.junit.Test;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
@@ -125,8 +123,6 @@ public class IgnitePdsCacheAssignmentNodeRestartsTest
extends GridCommonAbstract
@Test
public void testAssignmentAfterRestarts() throws Exception {
try {
-
Assume.assumeFalse("https://issues.apache.org/jira/browse/IGNITE-10582",
MvccFeatureChecker.forcedMvcc());
-
System.setProperty(IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC, "true");
final int gridsCnt = 5;
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
index abbbaa4..6b23881 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteLogicalRecoveryTest.java
@@ -17,6 +17,7 @@
package org.apache.ignite.internal.processors.cache.persistence.db;
+import com.google.common.collect.Lists;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -28,7 +29,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ThreadLocalRandom;
import java.util.function.Predicate;
import java.util.stream.Collectors;
-import com.google.common.collect.Lists;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteIllegalStateException;
@@ -61,7 +61,6 @@ import org.apache.ignite.testframework.GridTestUtils;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.jetbrains.annotations.Nullable;
import org.junit.Assert;
-import org.junit.Ignore;
import org.junit.Test;
/**
@@ -258,7 +257,6 @@ public class IgniteLogicalRecoveryTest extends
GridCommonAbstractTest {
/**
*
*/
- @Ignore("https://issues.apache.org/jira/browse/IGNITE-10582")
@Test
public void testRecoveryWithMvccCaches() throws Exception {
List<CacheConfiguration> dynamicCaches = Lists.newArrayList(