[jboss-jira] [JBoss JIRA] (WFLY-3090) Administrative cancellation of management ops results in closed connections
Brian Stansberry (JIRA)
issues at jboss.org
Wed Apr 9 16:22:13 EDT 2014
[ https://issues.jboss.org/browse/WFLY-3090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12960638#comment-12960638 ]
Brian Stansberry commented on WFLY-3090:
----------------------------------------
I'm not certain how the operation execution code can cleanly "distinguish between administrative cancellation and other causes of interruption". There are a layers in between the future being cancelled and the operation context object that would need to be aware of the fact of administrative cancellation, and that operation context is deliberately not exposed through all those layers.
I'm currently dealing with this issue by isolating the main operation execution thread -- the one that gets interrupted due to management cancellation -- from writing to the remoting channels. Writing is delegated to separate threads.
> Administrative cancellation of management ops results in closed connections
> ---------------------------------------------------------------------------
>
> Key: WFLY-3090
> URL: https://issues.jboss.org/browse/WFLY-3090
> Project: WildFly
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Domain Management
> Affects Versions: 8.0.0.Final
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
> Fix For: 9.0.0.CR1
>
>
> Administrative cancellation of management ops is implemented by the thread that is handling the cancellation interrupting the thread that is executing the op. This works, but the thread executing the op can't readily distinguish between interruption do to admin action and cancellation for other reasons such as server shutdown. The OperationContext code detects interruption but restores the interrupted state to the thread, which is valid for the shutdown case. For the administrative cancellation case, it has the negative side effect of producing InterruptedExceptions later on; e.g. when the thread attempts to send data to the remote caller.
> This is particularly an issue in domain mode where the "caller" is a controlling process (HC). The InterruptedException has the effect of terminating the connection from the callee to the controlling process.
> The operation execution code needs to be able to distinguish between administrative cancellation and other causes of interruption.
--
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