Petals CDK

Memory leak because the JBIAcceptorManager.acceptorPool is not freed

Details

  • Type: Bug Bug
  • Status: Resolved Resolved
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 5.1.3
  • Fix Version/s: 5.1.4, 5.3.0
  • Component/s: runtime
  • Security Level: Public
  • Description:
    Hide

    JBIAcceptorManager manages it acceptor thread pool using a ThreadPoolExecutor. ThreadPoolExecutor is designed to dispatch tasks to threads. The task are finished in the time.
    But JBIAcceptorManager does not used tasks. It uses the ThreadFactory to create it's own thread, with its own method 'run'.

    So this thread pool MUST be refactored to be a real thread pool (for example, as an array of threads)

    Show
    JBIAcceptorManager manages it acceptor thread pool using a ThreadPoolExecutor. ThreadPoolExecutor is designed to dispatch tasks to threads. The task are finished in the time. But JBIAcceptorManager does not used tasks. It uses the ThreadFactory to create it's own thread, with its own method 'run'. So this thread pool MUST be refactored to be a real thread pool (for example, as an array of threads)
  • Environment:
    -
  1. PETALSCDK-83.patch
    (9 kB)
    Christophe DENEUX
    Thu, 22 Mar 2012 - 18:00:05 +0100

Issue Links

Activity

Christophe DENEUX made changes - Thu, 22 Mar 2012 - 17:48:08 +0100
Field Original Value New Value
Link This issue blocks PETALSDISTRIB-2 [ PETALSDISTRIB-2 ]
Christophe DENEUX made changes - Thu, 22 Mar 2012 - 18:00:05 +0100
Attachment PETALSCDK-83.patch [ 10731 ]
Christophe DENEUX made changes - Thu, 22 Mar 2012 - 18:03:21 +0100
Summary Memory leak because the JBIAcceptorManager.acceptorPool Memory leak because the JBIAcceptorManager.acceptorPool is not freed
Priority Blocker [ 1 ]
Christophe DENEUX made changes - Fri, 23 Mar 2012 - 16:50:45 +0100
Status New [ 10000 ] Open [ 10002 ]
Assignee Mathieu Carrolle [ mcarrolle ] Christophe DENEUX [ cdeneux ]
Christophe DENEUX made changes - Fri, 23 Mar 2012 - 16:51:02 +0100
Description {{JBIAcceptorManager}} manages it acceptor thread pool using a {{ThreadPoolExecutor}}. {{ThreadPoolExecutor}} is designed to dispatch tasks to threads. The task are finished in the time.
But {{JBIAcceptorManager}} does not used tasks. It uses the ThreadFactory to create it's own thread, with its own method '{{run}}'.

So this thread pool *MUST* be refactored to be a real thread pooo (for exemple, as an array of threads)
{{JBIAcceptorManager}} manages it acceptor thread pool using a {{ThreadPoolExecutor}}. {{ThreadPoolExecutor}} is designed to dispatch tasks to threads. The task are finished in the time.
But {{JBIAcceptorManager}} does not used tasks. It uses the ThreadFactory to create it's own thread, with its own method '{{run}}'.

So this thread pool *MUST* be refactored to be a real thread pool (for example, as an array of threads)
Christophe DENEUX made changes - Fri, 23 Mar 2012 - 16:51:49 +0100
Status Open [ 10002 ] In Progress [ 10003 ]
Christophe DENEUX made changes - Fri, 23 Mar 2012 - 16:53:34 +0100
Status In Progress [ 10003 ] Resolved [ 10004 ]
Fix Version/s 5.1.4 [ 10328 ]
Resolution Fixed [ 1 ]
Christophe DENEUX made changes - Fri, 23 Mar 2012 - 16:53:42 +0100
Status Resolved [ 10004 ] Open [ 10002 ]
Resolution Fixed [ 1 ]
Christophe DENEUX made changes - Fri, 23 Mar 2012 - 16:54:43 +0100
Fix Version/s 5.3.0 [ 10338 ]
Christophe DENEUX made changes - Mon, 26 Mar 2012 - 12:15:26 +0200
Status Open [ 10002 ] In Progress [ 10003 ]
Christophe DENEUX made changes - Mon, 26 Mar 2012 - 12:18:13 +0200
Status In Progress [ 10003 ] Resolved [ 10004 ]
Resolution Fixed [ 1 ]

People

Dates

  • Created:
    Thu, 22 Mar 2012 - 17:47:40 +0100
    Updated:
    Mon, 26 Mar 2012 - 12:18:13 +0200
    Resolved:
    Mon, 26 Mar 2012 - 12:18:13 +0200