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

Andreas Neumann commented on TEPHRA-242:
----------------------------------------

It is hard to say what happened in the scenario that we observed: The pruning 
service was still running after the transaction server had shutdown. The only 
way to explain this is that in this code:
{code}
        if (server != null && server.isRunning()) {
          server.stopAndWait();
        }
        if (pruningService != null && pruningService.isRunning()) {
          // Wait for pruning service to stop after un-registering from 
discovery
          stopFuture = pruningService.stop();
        }
{code}
the stopping of the server threw an exception (we were facing OutOfMemory 
issues) or an InterruptedException. In that case, the exception goes uncaught 
and pruningService.stop() is never called. It seems safe to stop the prune 
service first (it needs the tx server anyway). 



> Transaction Service sometimes does not shutdown
> -----------------------------------------------
>
>                 Key: TEPHRA-242
>                 URL: https://issues.apache.org/jira/browse/TEPHRA-242
>             Project: Tephra
>          Issue Type: Bug
>          Components: manager
>    Affects Versions: 0.12.0-incubating
>            Reporter: Andreas Neumann
>            Assignee: Andreas Neumann
>             Fix For: 0.13.0-incubating
>
>
> If shutting down encounters an exception (for example, OutOfMemory), it can 
> happen that the process does not exit. We have observed this after an NPE 
> from DFS (closing the transaction log), the process stayed alive and the\ 
> prune thread (executor) was not shut down. It was not clear why the process 
> stayed alive, but it would certainly help to handle exceptions better in the 
> shutdown sequence. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to