[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 17:30:12 EDT 2014
[ https://issues.jboss.org/browse/WFLY-3090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12960657#comment-12960657 ]
Brian Stansberry commented on WFLY-3090:
----------------------------------------
I haven't touched this bit for a week or so and forgot something when I wrote my last "status report" comment -- I was also finding cases when testing cancellation where just by bad luck the op would be cancelled when writing. Now that was something of an edge case, due to the test design not being able to properly assert the system was in the exact desired state (blocking various intended spots) before canceling. But it showed me it could happen for real, with the negative effect of closing down inter-process channels.
Noticing that was kind of the trump card that moved me past suspending the interruption status and all the way to move the write off to a separate thread.
> 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