Bug 1031199
Summary: | EJB backing cache's can generate large retention from cancelled tasks in its scheduled executor's DelayedWorkQueue | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Aaron Ogburn <aogburn> |
Component: | EJB | Assignee: | Paul Ferraro <paul.ferraro> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Jan Martiska <jmartisk> |
Severity: | unspecified | Docs Contact: | Russell Dickenson <rdickens> |
Priority: | unspecified | ||
Version: | 6.2.0 | CC: | kkhan, paul.ferraro, smumford |
Target Milestone: | DR0 | ||
Target Release: | EAP 6.3.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
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.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2014-06-28 15:27:45 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Aaron Ogburn
2013-11-15 21:19:33 UTC
Paul Ferraro <paul.ferraro> updated the status of jira WFLY-2521 to Coding In Progress David Lloyd <david.lloyd> made a comment on jira WFLY-2521 Using STPE for this probably isn't a great fit as it just doesn't do well with lots of cancellations. A simple sorted fast-access queue of some sort would probably work much better. Paul Ferraro <paul.ferraro> made a comment on jira WFLY-2521 [~dmlloyd] That's a good point. It looks like queue removal is an O(N) operation - so even setRemoveOnCancelPolicy(true) is not ideal. I'll open a separate jira to address this. Paul Ferraro <paul.ferraro> made a comment on jira WFLY-2521 See: https://issues.jboss.org/browse/WFLY-2534 Hey Paul, Were you planning to add similar cancelled task removes in the NonPassivatingBackingCache's executor as well? Thanks, Aaron Good catch. I've updated the PR. Verified in 6.3.0.DR0. |