Bug 882048
Summary: | Shutdown process hangs using thread pool executor | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Eiichi Nagai <enagai> |
Component: | Web | Assignee: | Rémy Maucherat <rmaucher> |
Status: | CLOSED WONTFIX | QA Contact: | Radim Hatlapatka <rhatlapa> |
Severity: | medium | Docs Contact: | Russell Dickenson <rdickens> |
Priority: | unspecified | ||
Version: | 6.0.0 | CC: | aogburn, dandread, fnasser, istudens, iweiss, kkhan, mvelas |
Target Milestone: | --- | ||
Target Release: | EAP 6.4.0 | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-06-23 15:10:55 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
Eiichi Nagai
2012-11-30 02:07:12 UTC
I've checked a few things in debugging this: 1) QueueExecutor is indeed being shutdown after confirming its stop variable value in a heap dump. Since shutdown is called, the worker threads are interrupted. 2) The interrupts do nothing to the keepalive worker threads on the socket read. They do not break out of the read in any way and so shutdown just waits on the long, uninterruptible reads. Remy Maucherat <rmaucher> updated the status of jira AS7-6105 to Resolved Remy Maucherat <rmaucher> made a comment on jira AS7-6105 It is normal behavior if the threads are not daemon threads. There's no benefit to using an executor with the java.io AJP connector (it will almost never give any thread back). David Lloyd <david.lloyd> made a comment on jira AS7-6105 It would be nice if we could forbid such a configuration... Remy Maucherat <rmaucher> made a comment on jira AS7-6105 Do you think it should go as far as check if the executor configuration has a daemon flag using a simple runnable ? I don't see any other way to do it. Mathieu Lachance <mathieu> made a comment on jira AS7-6105 jboss thread subsystem do not expose the daemon flag Mathieu Lachance <mathieu> made a comment on jira AS7-6105 jboss thread subsystem do not expose the daemon flag, I think the issue should be re-opened. David Lloyd <david.lloyd> made a comment on jira AS7-6105 To elaborate.... - The daemon flag is not sufficient as the connector can be shut down without shutting down the container; to do it "right" the thread pool has to be shut down after the connector is shut down. - If this is not possible to do with an external executor-based thread pool, then we simply shouldn't allow users to configure an executor for AJP within the subsystem configuration. - If this *generally* not possible to shut down the thread pool after shutting down the connector, then it's a real bug and we have to address that. Mathieu Lachance <mathieu> made a comment on jira AS7-6105 I guess this is the same concern as expressed here : https://issues.jboss.org/browse/AS7-5771 Eiichi Nagai <enagai> updated the status of jira AS7-6105 to Reopened Eiichi Nagai <enagai> made a comment on jira AS7-6105 I have reopened this JIRA. I am interested in David's comment. I believe that you tackle again regarding this behavior. Can someone chose the right component please? Issue is still valid for EAP 6.3.0.ER10. This executor configuration looks obviously broken (same as 1042754). I don't see a real way to handle this. It should probably change to WONT_FIX. based on comment 15 and comment 16 |