[infinispan-issues] [JBoss JIRA] Updated: (ISPN-1388) All executors should be shutdown centrally

Galder Zamarreño (JIRA) jira-events at lists.jboss.org
Thu Sep 15 06:20:27 EDT 2011


     [ https://issues.jboss.org/browse/ISPN-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Galder Zamarreño updated ISPN-1388:
-----------------------------------

        Summary: All executors should be shutdown centrally  (was: Eviction scheduled executor never shutdown)
    Description: 
At the end of the testsuite, there're about ~900 scheduled eviction threads lying around. Is the scheduled eviction executor thread service at all???

Right now shutdown of executors, which are global components, is spread around different parts of the code. In fact, eviction scheduled executor is not shutdown at all. They should be shutdown from a centralised point, i.e. GlobalCR.stop().

  was:
At the end of the testsuite, there're about ~900 scheduled eviction threads lying around. Is the scheduled eviction executor thread service at all???

What's not very clear here is whose responsibility is to shutdown executor services. For example, take @ComponentName(ASYNC_TRANSPORT_EXECUTOR), this is injected into: CacheImpl, RpcManagerImpl, QueryInterceptor and JGroupsTransport. Who's supposed to shut it down? Right now, it's RpcManagerImpl doing it, which is a named cache component.

This opens another interesting question: Are ExecutorService components global, or per cache? Or both? For example, take ASYNC_TRANSPORT_EXECUTOR, it's injected to Transport, so must be global. But then you see RpcManagerImpl, which is a named cache component shutting it down? Surely that cannot be right.

Going back to the original concern, take KnownComponentNames.EVICTION_SCHEDULED_EXECUTOR which is used by EvictionManagerImpl, this is never shutdown by anyone, which matches what's seen in the thread dump.



> All executors should be shutdown centrally
> ------------------------------------------
>
>                 Key: ISPN-1388
>                 URL: https://issues.jboss.org/browse/ISPN-1388
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Eviction
>    Affects Versions: 5.0.1.FINAL
>            Reporter: Galder Zamarreño
>            Assignee: Galder Zamarreño
>            Priority: Critical
>             Fix For: 5.1.0.ALPHA2 , 5.1.0.FINAL
>
>         Attachments: threaddump.txt
>
>
> At the end of the testsuite, there're about ~900 scheduled eviction threads lying around. Is the scheduled eviction executor thread service at all???
> Right now shutdown of executors, which are global components, is spread around different parts of the code. In fact, eviction scheduled executor is not shutdown at all. They should be shutdown from a centralised point, i.e. GlobalCR.stop().

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       



More information about the infinispan-issues mailing list