Details
-
Bug
-
Resolution: Done
-
Major
-
8.0.0.Alpha1
-
None
Description
Setup two boxes:
- on one, run domain mode (full-ha) -> domain controller
- on the other, configure host.xml to point to the DC, and run the host controller
Now in CLI:
- add the group:
/server-group=slaves:add(profile=full-ha,socket-binding-group=full-ha-sockets)
- create server and set a prop
batch
/host=slave1/server-config=i1:add(group=slaves,auto-start=false)
/host=slave1/server-config=i1/system-property=env:add(value=dev)
run-batch
results in:
JBAS010839: Operation failed or was rolled back on all servers.
Debugging (on EAP 6.0.1) showed the real reason:
activeStep.response = (org.jboss.dmr.ModelNode) {
"outcome" => "failed",
"failure-description" => "JBAS010850: No handler for operation
composite at address [
(\"host\" => \"slave1\"),
(\"server\" => \"i1\")
]",
"rolled-back" => true
}
More debugging led to :
org.jboss.as.controller.AbstractOperationContext
seems to be where the rollback is set. When debugging, I found that the constructor always sets
ModelController.OperationTransactionControl transactionControl
but at line 332 (eap 6.0.1) / line 372 (wildfly), the end of doCompleteStep() :
// Allow any containing TransactionControl to vote
final AtomicReference<ResultAction> ref = new AtomicReference<ResultAction>(transactionControl == null ? ResultAction.KEEP : ResultAction.ROLLBACK);
and ref becomes a rollback.
I "walked" pretty much of all the code going on in between. The bit where the config is getting persisted is successful.
But I'm afraid I'm out of my depth as there is a lot going on to execute such a composite command