[jboss-jira] [JBoss JIRA] (WFLY-315) Avoid running out of threads when connecting to the DC from a slave to pull down missing data
Emanuel Muckenhuber (JIRA)
issues at jboss.org
Fri Mar 21 09:34:11 EDT 2014
[ https://issues.jboss.org/browse/WFLY-315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12954980#comment-12954980 ]
Emanuel Muckenhuber commented on WFLY-315:
------------------------------------------
Yeah, i mean most of this relies on unbounded thread pools, so that operations don't deadlock. We should really get rid of those at one point though.
We do throttle (1) mainly because when i was running a lot of concurrent requests with an not limited thread pool the server pretty much ran out of memory pretty quickly (thanks to ModelNode.clone()). (2) are executed by single thread, because it's kinda pointless have multiple registration just use threads, when they cannot be executed concurrently. (3) we have a limited pool on the DC, however proxied request cannot be limited, because they are all blocking (awaiting the tx.complete from the DC). Also inbound request for fetching data and files are unlimited to avoid deadlocks. This all is a huge mess needs to be cleaned up at one point, however would require some fundamental changes.
> Avoid running out of threads when connecting to the DC from a slave to pull down missing data
> ---------------------------------------------------------------------------------------------
>
> Key: WFLY-315
> URL: https://issues.jboss.org/browse/WFLY-315
> Project: WildFly
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Components: Domain Management
> Reporter: Kabir Khan
> Assignee: Emanuel Muckenhuber
> Priority: Blocker
> Fix For: 9.0.0.CR1
>
>
> For WFLY-259 when a slave connects to the DC to pull down missing data, it does this by either getting a lock for the DC, or by joining the permit of the existing DC lock if the request to update a slave's server-config was executed as part of a composite obtaining a lock on the DC.
> The way it works at present there is a thread per slave which is blocked until the transaction completes. The DC threads are a finite resource, so a large number of slaves trying to pull down dats will cause deadlock
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list