[jboss-jira] [JBoss JIRA] (WFCORE-1002) TransactionalProtocolOperationHandler.AbortOperationHandler must initialize the ExecuteRequestContext before responding
Brian Stansberry (JIRA)
issues at jboss.org
Tue Sep 22 17:23:00 EDT 2015
Brian Stansberry created WFCORE-1002:
----------------------------------------
Summary: TransactionalProtocolOperationHandler.AbortOperationHandler must initialize the ExecuteRequestContext before responding
Key: WFCORE-1002
URL: https://issues.jboss.org/browse/WFCORE-1002
Project: WildFly Core
Issue Type: Bug
Components: Domain Management
Affects Versions: 2.0.0.CR3
Reporter: Brian Stansberry
Assignee: Brian Stansberry
If in a race a COMPLETE_TX_REQUEST cancelling an op is processed by a server/slave HC before the original EXECUTE_TX_REQUEST is processed, when the EXECUTE_TX_REQUEST comes in the AbortOperationHandler attempts to respond with a "outcome"=>"cancelled" response. This will fail because the ExecutionRequestContext will not be initialized.
In this situation the AbortOperationHandler should initialize the ERC.
With assertions enabled, this appears in the log:
{code}
20:58:47,947 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) Exception in thread "Remoting "slave:main-three:MANAGEMENT" task-6" java.lang.AssertionError
20:58:47,947 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestContext.failed(TransactionalProtocolOperationHandler.java:458)
20:58:47,948 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$AbortOperationHandler.handleRequest(TransactionalProtocolOperationHandler.java:275)
20:58:47,948 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:270)
20:58:47,948 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:252)
20:58:47,948 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.protocol.mgmt.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:123)
20:58:47,949 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.protocol.mgmt.ManagementChannelReceiver$1.handleMessage(ManagementChannelReceiver.java:56)
20:58:47,949 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.as.protocol.mgmt.ManagementChannelReceiver.handleMessage(ManagementChannelReceiver.java:85)
20:58:47,949 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.remoting3.remote.RemoteConnectionChannel$5.run(RemoteConnectionChannel.java:451)
20:58:47,949 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at org.jboss.remoting3.EndpointImpl$TrackingExecutor$1.run(EndpointImpl.java:705)
20:58:47,950 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
20:58:47,950 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
20:58:47,950 ERROR [stderr] (Remoting "slave:main-three:MANAGEMENT" task-6) at java.lang.Thread.run(Thread.java:745)
{code}
Without assertions, a few lines later a call to sendResponse will result in an NPE.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list