[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-05-07 Thread Ivan Pavlukhin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17101559#comment-17101559
 ] 

Ivan Pavlukhin commented on IGNITE-12554:
-

[~agoncharuk], I do not mind if you take it over. I have a great deal of doubts 
that I will have a time for it in near future.

> 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
> Fix For: 2.9
>
> Attachments: NodeRestartTesting.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-05-07 Thread Alexey Goncharuk (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17101524#comment-17101524
 ] 

Alexey Goncharuk commented on IGNITE-12554:
---

[~Pavlukhin] the issue has not been fixed as a similar static thread group is 
present in {{IgniteSpiThread}}, a simple test case shows this. Do you mind 
taking care of it or should I take it over?

> 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
> Fix For: 2.9
>
> Attachments: NodeRestartTesting.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-01-28 Thread Andrey N. Gura (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17025152#comment-17025152
 ] 

Andrey N. Gura commented on IGNITE-12554:
-

[~Pavlukhin] LGTM. I agree that default thread group is not needed.

> 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
> Fix For: 2.9
>
> 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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-01-27 Thread ha faculty (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17024832#comment-17024832
 ] 

ha faculty commented on IGNITE-12554:
-

[~Pavlukhin] Thanks 

> 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
> Fix For: 2.9
>
> 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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-01-27 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17024543#comment-17024543
 ] 

Ignite TC Bot commented on IGNITE-12554:


{panel:title=Branch: [pull/7297/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=4963617buildTypeId=IgniteTests24Java8_RunAll]

> 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
> Fix For: 2.9
>
> 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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-01-26 Thread Ivan Pavlukhin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-01-20 Thread ha faculty (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17019796#comment-17019796
 ] 

ha faculty commented on IGNITE-12554:
-

Hi Ivan, 
Unfortunately our in-house platform which is using a 3rd party framework 
which don’t allow using the system threadgroup. Thanks for your reply. Let me 
see if assign a new DFLT_GRP instance every time when ignition start will 
resolve it or not 

> 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
>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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)


[jira] [Commented] (IGNITE-12554) Ignite instance couldn't be restarted if it's parent thread group has been called destroy once

2020-01-20 Thread Ivan Pavlukhin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-12554?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17019459#comment-17019459
 ] 

Ivan Pavlukhin commented on IGNITE-12554:
-

[~hafaculty], currently I can suggest only a workaround. Is it possible for you 
to enforce {{org.apache.ignite.thread.IgniteThread#DFLT_GRP}} initialization in 
a system (root) ThreadGroup?
Unfortunately, cannot answer from scratch what would be the proper fix. Perhaps 
special DFLT_GRP is not really needed..

> 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
>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.(Thread.java:599) at 
> org.apache.ignite.thread.IgniteThread.(IgniteThread.java:96) at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.start(StripedExecutor.java:474)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(StripedExecutor.java:121)
>  at 
> org.apache.ignite.internal.util.StripedExecutor.(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)