[
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17024104#comment-17024104
]
Ivan Pavlukhin commented on IGNITE-12554:
-----------------------------------------
I raised (PR|https://github.com/apache/ignite/pull/7297) removing special
ThreadGroup.
> Ignite instance couldn't be restarted if it's parent thread group has been
> called destroy once
> ----------------------------------------------------------------------------------------------
>
> Key: IGNITE-12554
> URL: https://issues.apache.org/jira/browse/IGNITE-12554
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 2.7.6
> Reporter: ha faculty
> Assignee: Ivan Pavlukhin
> Priority: Major
> Attachments: NodeRestartTesting.java
>
>
> I am using an inhouse platform which manage the life cycle of ignite instance
> by calling ignition.start() and ignition.stop() from a web application.
> it could be started without issue for the first time. however, if it stop the
> ignite by calling ignition.stop() and followed by destroying the parent
> thread group which starting it.
> Calling ignition.start() in the 2nd time will throw the following exception
> Exception in thread "kickOff" java.lang.IllegalThreadStateExceptionException
> in thread "kickOff" java.lang.IllegalThreadStateException at
> java.lang.ThreadGroup.addUnstarted(ThreadGroup.java:867) at
> java.lang.Thread.init(Thread.java:405) at
> java.lang.Thread.init(Thread.java:349) at
> java.lang.Thread.<init>(Thread.java:599) at
> org.apache.ignite.thread.IgniteThread.<init>(IgniteThread.java:96) at
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
> at
> org.apache.ignite.internal.util.StripedExecutor.<init>(StripedExecutor.java:121)
> at
> org.apache.ignite.internal.util.StripedExecutor.<init>(StripedExecutor.java:80)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1842)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1730)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1158) at
> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:589) at
> org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:565) at
> org.apache.ignite.Ignition.start(Ignition.java:305) at
> com.faculty.poc.ignite.app.NodeRestartTesting.run(NodeRestartTesting.java:60)
> at java.lang.Thread.run(Thread.java:748)
> Please find my demo code for this issue.
> Walk through into Ignite code, it should be caused by a static thread group
> created in IgniteThread class. (private static final ThreadGroup DFLT_GRP =
> new ThreadGroup("ignite")
> Destroyed the parent thread group which start the ignite instance will result
> in causing the DFLT_GRP go into destroyed state. Therefore, when Ignite was
> start ifor the 2nd time, this static thread group has been destroyed and no
> longer able to run the ignite.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)