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...
This seems fine, assuming the testsuite passes.
Stylistically, IMO that new ExecuteRequest should be converted from an
anonymous inner class to a regular inner class. The combo of creating
an anonymous inner class for the ProxyOperationControl param and
overriding a superclass method is a bit too much syntax for my tastes. :)
Since there seem to be other people looking into issues with the
mgmt
protocol as well - any thoughts?
Thanks,
Emanuel
_______________________________________________
jboss-as7-dev mailing list
jboss-as7-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
--
Brian Stansberry
Principal Software Engineer
JBoss by Red Hat