[
https://issues.apache.org/jira/browse/IGNITE-13444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maria Makedonskaya updated IGNITE-13444:
----------------------------------------
Description:
We could get JVM crash if a cluster has indexes and index deletion task tries
to run on deactivated grid. We shouldn't start new tasks on a deactivated
grid. Also, interrupt the execution of current tasks.
Scenario:
* Apply patch:
{code:java}
Index:
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.javaIDEA
additional info:Subsystem:
com.intellij.openapi.diff.impl.patch.CharsetEP<+>UTF-8===================================================================---
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.java
(revision fc4ed408be9a0bb8d1f3d2c538a1b2ce8951320e)+++
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.java
(date 1587246501828)@@ -30,6 +30,7 @@ import
org.apache.ignite.internal.processors.query.h2.database.H2Tree; import
org.apache.ignite.internal.util.typedef.internal.CU; import
org.apache.ignite.internal.util.typedef.internal.S;+import
org.apache.ignite.internal.util.typedef.internal.U; import static
org.apache.ignite.internal.metric.IoStatisticsType.SORTED_INDEX; @@ -155,6
+156,8 @@ BPlusTree tree = trees0.get(i); try
\{+ U.sleep(10000L);+ tree.destroy(null,
true); } catch (IgniteCheckedException e)
\{Index:
modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.javaIDEA
additional info:Subsystem:
com.intellij.openapi.diff.impl.patch.CharsetEP<+>UTF-8===================================================================---
modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.java
(revision fc4ed408be9a0bb8d1f3d2c538a1b2ce8951320e)+++
modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.java
(date 1587247548691)@@ -30,6 +30,7 @@ import
org.apache.ignite.failure.StopNodeFailureHandler; import
org.apache.ignite.internal.IgniteEx; import
org.apache.ignite.internal.processors.cache.index.AbstractIndexingCommonTest;+import
org.apache.ignite.internal.util.typedef.internal.U; import
org.apache.ignite.testframework.GridTestUtils; import org.h2.result.LazyResult;
import org.h2.result.ResultInterface;@@ -78,6 +79,8 @@ @Override protected
void afterTest() throws Exception { stopAllGrids(); +
U.sleep(20000L);+ super.afterTest(); }
{code}
* Start {{LocalQueryLazyTest#testDeactivateWithOpenCursor()}} test without
{{-ea}} VM option.
was:
We could get JVM crash if a cluster has indexes and the node has been stopped
right after deactivation.We could get JVM crash if a cluster has indexes and
the node has been stopped right after deactivation.
Scenario:
* Apply patch:
{code:java}
Index:
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.javaIDEA
additional info:Subsystem:
com.intellij.openapi.diff.impl.patch.CharsetEP<+>UTF-8===================================================================---
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.java
(revision fc4ed408be9a0bb8d1f3d2c538a1b2ce8951320e)+++
modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.java
(date 1587246501828)@@ -30,6 +30,7 @@ import
org.apache.ignite.internal.processors.query.h2.database.H2Tree; import
org.apache.ignite.internal.util.typedef.internal.CU; import
org.apache.ignite.internal.util.typedef.internal.S;+import
org.apache.ignite.internal.util.typedef.internal.U; import static
org.apache.ignite.internal.metric.IoStatisticsType.SORTED_INDEX; @@ -155,6
+156,8 @@ BPlusTree tree = trees0.get(i); try
\{+ U.sleep(10000L);+ tree.destroy(null,
true); } catch (IgniteCheckedException e)
\{Index:
modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.javaIDEA
additional info:Subsystem:
com.intellij.openapi.diff.impl.patch.CharsetEP<+>UTF-8===================================================================---
modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.java
(revision fc4ed408be9a0bb8d1f3d2c538a1b2ce8951320e)+++
modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.java
(date 1587247548691)@@ -30,6 +30,7 @@ import
org.apache.ignite.failure.StopNodeFailureHandler; import
org.apache.ignite.internal.IgniteEx; import
org.apache.ignite.internal.processors.cache.index.AbstractIndexingCommonTest;+import
org.apache.ignite.internal.util.typedef.internal.U; import
org.apache.ignite.testframework.GridTestUtils; import org.h2.result.LazyResult;
import org.h2.result.ResultInterface;@@ -78,6 +79,8 @@ @Override protected
void afterTest() throws Exception { stopAllGrids(); +
U.sleep(20000L);+ super.afterTest(); }
{code}
* Start {{LocalQueryLazyTest#testDeactivateWithOpenCursor()}} test without
{{-ea}} VM option.
> Cluster deactivation could lead to JVM crash.
> ---------------------------------------------
>
> Key: IGNITE-13444
> URL: https://issues.apache.org/jira/browse/IGNITE-13444
> Project: Ignite
> Issue Type: Bug
> Components: sql
> Reporter: Maria Makedonskaya
> Assignee: Maria Makedonskaya
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> We could get JVM crash if a cluster has indexes and index deletion task tries
> to run on deactivated grid. We shouldn't start new tasks on a deactivated
> grid. Also, interrupt the execution of current tasks.
> Scenario:
> * Apply patch:
> {code:java}
> Index:
> modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.javaIDEA
> additional info:Subsystem:
> com.intellij.openapi.diff.impl.patch.CharsetEP<+>UTF-8===================================================================---
>
> modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.java
> (revision fc4ed408be9a0bb8d1f3d2c538a1b2ce8951320e)+++
> modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DurableBackgroundCleanupIndexTreeTask.java
> (date 1587246501828)@@ -30,6 +30,7 @@ import
> org.apache.ignite.internal.processors.query.h2.database.H2Tree; import
> org.apache.ignite.internal.util.typedef.internal.CU; import
> org.apache.ignite.internal.util.typedef.internal.S;+import
> org.apache.ignite.internal.util.typedef.internal.U; import static
> org.apache.ignite.internal.metric.IoStatisticsType.SORTED_INDEX; @@ -155,6
> +156,8 @@ BPlusTree tree = trees0.get(i);
> try \{+ U.sleep(10000L);+
> tree.destroy(null, true); } catch
> (IgniteCheckedException e) \{Index:
> modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.javaIDEA
> additional info:Subsystem:
> com.intellij.openapi.diff.impl.patch.CharsetEP<+>UTF-8===================================================================---
>
> modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.java
> (revision fc4ed408be9a0bb8d1f3d2c538a1b2ce8951320e)+++
> modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/LocalQueryLazyTest.java
> (date 1587247548691)@@ -30,6 +30,7 @@ import
> org.apache.ignite.failure.StopNodeFailureHandler; import
> org.apache.ignite.internal.IgniteEx; import
> org.apache.ignite.internal.processors.cache.index.AbstractIndexingCommonTest;+import
> org.apache.ignite.internal.util.typedef.internal.U; import
> org.apache.ignite.testframework.GridTestUtils; import
> org.h2.result.LazyResult; import org.h2.result.ResultInterface;@@ -78,6 +79,8
> @@ @Override protected void afterTest() throws Exception {
> stopAllGrids(); + U.sleep(20000L);+ super.afterTest(); }
> {code}
> * Start {{LocalQueryLazyTest#testDeactivateWithOpenCursor()}} test without
> {{-ea}} VM option.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)