[ 
https://issues.apache.org/jira/browse/MESOS-3264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14699998#comment-14699998
 ] 

haosdent commented on MESOS-3264:
---------------------------------

{code}
I had explored the option of using similar shutdown hooks previously, and 
unfortunately it doesn't do the trick, I assume because the order of the 
shutdown hooks is unspecified?
{code}

Very interesting. Could you try this code snippet in you jvm? 
https://ideone.com/48o7SG
The output should be
{code}
Enter main
Before System.exit(0);
Call finalize()
Call finalize()
{code}

Notice I wrap finalize() with close() and call close()  in the ShutdownHook. 
Call finalize() in the ShutdownHook thread is not work.

> JVM can exit prematurely following framework teardown
> -----------------------------------------------------
>
>                 Key: MESOS-3264
>                 URL: https://issues.apache.org/jira/browse/MESOS-3264
>             Project: Mesos
>          Issue Type: Bug
>          Components: java api
>    Affects Versions: 0.23.0, 0.24.0
>            Reporter: Greg Mann
>            Priority: Minor
>              Labels: java, tech-debt
>
> In Java frameworks, it is possible for the JVM to begin exiting the program - 
> via {{System.exit()}}, for example - while teardown of native objects such as 
> the SchedulerDriver and associated Executors is still in progress. 
> {{SchedulerDriver::stop()}} will return after it has sent messages to other 
> actors to begin their teardown, meanwhile the JVM is free to terminate the 
> program and thus begin executing native object destructors while those 
> objects are still in use, potentially leading to a segfault.
> This has manifested itself in flaky tests from the ExamplesTest suite (see 
> MESOS-830 and MESOS-1013), as mutexes from glog are destroyed while the 
> framework is still shutting down and attempting to log.
> Ideally, a mechanism would exist to block the Java code until a confirmation 
> that framework teardown is complete has been received.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to