Back to bug 1031199

Who When What Removed Added
Aaron Ogburn 2013-11-15 21:31:47 UTC Link ID JBoss Issue Tracker WFLY-2521
Paul Ferraro 2013-11-18 22:48:48 UTC CC paul.ferraro
Assignee david.lloyd paul.ferraro
Paul Ferraro 2013-11-19 17:18:53 UTC Status NEW POST
Kabir Khan 2013-12-18 17:30:52 UTC Target Release --- EAP 6.3.0
CC kkhan
Target Milestone --- Pending
Kabir Khan 2014-01-08 16:05:31 UTC Status POST MODIFIED
Target Milestone Pending DR0
Paul Gier 2014-02-11 23:53:59 UTC Status MODIFIED ON_QA
Jan Martiska 2014-02-24 13:21:49 UTC Status ON_QA VERIFIED
mark yarborough 2014-06-28 15:27:45 UTC Status VERIFIED CLOSED
Resolution --- CURRENTRELEASE
Last Closed 2014-06-28 11:27:45 UTC
Paul Ferraro 2014-07-02 13:51:48 UTC Doc Text Cause: The cache implementation for @Stateful EJBs utilizes a scheduled executor for handling @StatefulTimeout logic. When a bean is accessed, it's previous timeout job is cancelled, and a new one is rescheduled when the invocation completes. By default, cancelling a task from an executor does not remove it from the queue.

Consequence: This caused a gradual memory leak, as cancelled tasks remain in the queue.

Fix: The scheduled executor can be configured to remove the task from the queue upon cancellation.

Result: No more memory leak.
Scott Mumford 2014-07-04 05:58:26 UTC CC smumford
Doc Text Cause: The cache implementation for @Stateful EJBs utilizes a scheduled executor for handling @StatefulTimeout logic. When a bean is accessed, it's previous timeout job is cancelled, and a new one is rescheduled when the invocation completes. By default, cancelling a task from an executor does not remove it from the queue.

Consequence: This caused a gradual memory leak, as cancelled tasks remain in the queue.

Fix: The scheduled executor can be configured to remove the task from the queue upon cancellation.

Result: No more memory leak.
The cache implementation for @Stateful EJBs in JBoss EAP 6 utilizes a scheduled executor for handling @StatefulTimeout logic. When a bean is accessed, it's previous timeout job is cancelled, and a new one is rescheduled when the invocation completes.

By default, cancelling a task from an executor did not remove it from the queue.

This caused a gradual memory leak, as cancelled tasks remain in the queue.

In this release, the scheduled executor can be configured to remove the task from the queue upon cancellation. This avoids the memory leak.

Back to bug 1031199