[ 
https://issues.apache.org/jira/browse/DIRECTMEMORY-82?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jeff MAURY updated DIRECTMEMORY-82:
-----------------------------------

    Description: 
I think the CacheService should implement Closable. Each CacheService instance 
holds a reference to a Timer, which starts an underlying Thread to execute 
TimerTasks. As there is no way to know when the CacheService is stopped, lots 
of "zombies" threads will be present in the JVM each time a reference on the 
CacheService is not kept anymore (start/stop of a Web application, open/close 
of an HibernateSessionFactory).
Please note that the patch I submitted for DIRECTMEMORY-81 shows now that lots 
of Timer-xx threads are now executing and generating traces as several 
instances of CacheService are created during the tests.
In general, I think we should review the lifecycle of the 
CacheService/MemoryService/ByteBufferAllocator objects as only 
ByteBufferAllocator implements Closable but the close method is never called 

  was:
I think the CacheService should implement Closable. Each CacheService instance 
holds a reference to a Timer, which starts an underlying Thread to execute 
TimerTasks. As there is no way to know when the CacheService is stopped, lots 
of "zombies" threads will be present in the JVM each time a reference on the 
CacheService is not kept anymore (start/stop of a Web application, open/close 
of an HibernateSessionFactory).
Please note that the patch I submitted for DIRECTMEMORY-81 shows now that lots 
of Timer-xx threads are not executing and generating traces as several 
instances of CacheService are created during the tests.
In general, I think we should review the lifecycle of the 
CacheService/MemoryService/ByteBufferAllocator objects as only 
ByteBufferAllocator implements Closable but the close method is never called 

    
> CacheService should implement Closable / Review the livecycle of the 
> CacheService/MemoryService/ByteBufferAllocator objects
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRECTMEMORY-82
>                 URL: https://issues.apache.org/jira/browse/DIRECTMEMORY-82
>             Project: Apache DirectMemory
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 0.6.0
>            Reporter: Jeff MAURY
>
> I think the CacheService should implement Closable. Each CacheService 
> instance holds a reference to a Timer, which starts an underlying Thread to 
> execute TimerTasks. As there is no way to know when the CacheService is 
> stopped, lots of "zombies" threads will be present in the JVM each time a 
> reference on the CacheService is not kept anymore (start/stop of a Web 
> application, open/close of an HibernateSessionFactory).
> Please note that the patch I submitted for DIRECTMEMORY-81 shows now that 
> lots of Timer-xx threads are now executing and generating traces as several 
> instances of CacheService are created during the tests.
> In general, I think we should review the lifecycle of the 
> CacheService/MemoryService/ByteBufferAllocator objects as only 
> ByteBufferAllocator implements Closable but the close method is never called 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to