On 11/10/11 12:21 PM, Emanuel Muckenhuber wrote:
I was investing some hangs with the domain Heiko was seeing using the
console:
https://issues.jboss.org/browse/AS7-2535
This turned out to be a problem how transactional requests with the
proxy controllers are handled.
Basically what happens is when a request is executed on a remote
controller, the message handler blocks until the operation is 'done' and
the preparedResult was sent back to the proxyStepHandler, which then
either tells the remote controller to keep or rollback the changes.
The issue with this is that the message handler is blocking using the
remote endpoint thread pool, meaning that if you have enough mgmt
requests they end up blocking the endpoint completely and none of those
operations can complete.
I just moved that into the client side (since this one is waiting
anyway), which should solve the issue:
https://github.com/emuckenhuber/jboss-as/commit/f5e2d6b80f9199e408641e6a0...
Since there seem to be other people looking into issues with the mgmt
protocol as well - any thoughts?
In addition I think there is a problem with the close handling:
http://hudson.qa.jboss.com/hudson/job/JBoss-AS-7.0.x/1907/testReport/juni...
The thread closing should just be responsible for cleaning up resources
and potentially informing other request processing tasks that the
connection is gone. Then the request processing can make the call as to
whether this is an error or not. It's possible in the case above that it
was actually successful but didn't have enough time to tell the close
thread not to throw an error.
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat