[
https://issues.apache.org/jira/browse/STORM-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15946989#comment-15946989
]
Antoine Tran commented on STORM-2437:
-------------------------------------
Log:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on
project techape-plugins: ExecutionException The forked VM terminated without
properly saying goodbye. VM crash or System.exit called?
> LocalCluster in Unit Test crash the VM
> --------------------------------------
>
> Key: STORM-2437
> URL: https://issues.apache.org/jira/browse/STORM-2437
> Project: Apache Storm
> Issue Type: Improvement
> Components: storm-core
> Affects Versions: 1.0.3
> Environment: Linux CentOs7
> Eclipse Mars 2
> Maven 3.3.9 with recent version of surefire, in forkCount=1 reuseFork=false
> Reporter: Antoine Tran
> Priority: Minor
>
> When unit testing Storm, we use LocalCluster. There is nothing to say when
> the Unit Test is working, the Unit Test ends gracefully.
> However, when there are RuntimeException, for instance in the prepare
> functions, Storm crash and calls in Utils.mkSuicideFn, which calls
> Runtime.getRuntime().exit. So the VM crash and this is contradictory to Maven
> Surefire design
> (http://maven.apache.org/surefire/maven-surefire-plugin/faq.html#vm-termination).
> I searched many ways to either prevent Storm from exiting (using
> SecurityManager), or make Unit Test accept the crash of the forked process.
> If the Unit Test s VM crash, surefire will be unable to continue. My
> suggestion is to allow a configuration of LocalCluster that avoids
> System.exit, but just kills the topology (and closes all ressources if
> possible, but in the short term, this is not really important in a forked
> process).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)