]
Brian Stansberry reassigned WFCORE-2631:
----------------------------------------
Assignee: Tomas Hofman (was: Brian Stansberry)
UnsupportedOperationException for
{allow-resource-service-restart=true} for inner attributes in Elytron subsystem
-----------------------------------------------------------------------------------------------------------------
Key: WFCORE-2631
URL:
https://issues.jboss.org/browse/WFCORE-2631
Project: WildFly Core
Issue Type: Bug
Components: Domain Management, Security
Affects Versions: 3.0.0.Beta13
Reporter: Ondrej Lukas
Assignee: Tomas Hofman
Priority: Critical
In case when resource in Elytron subsystem includes {{attributes}} which have set
{{"restart-required" => "resource-services"}} and includes also
some {{"value-type"}} for inner attributes, then flag
{{allow-resource-service-restart=true}} cannot be used correctly for those inner
attributes.
See example:
{code}
/subsystem=elytron/properties-realm=ManagementRealm:write-attribute(name=users-properties.plain-text,value=true)
{
"outcome" => "success",
"response-headers" => {
"operation-requires-reload" => true,
"process-state" => "reload-required"
}
}
{code}
This command set server to {{"reload-required"}} state. However In case, when
flag {{allow-resource-service-restart=true}} is set, then UnsupportedOperationException is
returned for the same command.
{code}
/subsystem=elytron/properties-realm=ManagementRealm:write-attribute(name=users-properties.plain-text,value=true){allow-resource-service-restart=true}
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed:
java.lang.UnsupportedOperationException",
"rolled-back" => true
}
{code}
In case when operation set server to {{"process-state" =>
"reload-required"}} then flag {{allow-resource-service-restart=true}} should be
supported. Otherwise whole server needs to be reloaded.
Exception thrown to server log for mentioned above CLI command:
{code}
ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1)
WFLYCTL0013: Operation ("write-attribute") failed - address: ([
("subsystem" => "elytron"),
("properties-realm" => "ManagementRealm")
]): java.lang.UnsupportedOperationException
at
org.jboss.as.controller.RestartParentWriteAttributeHandler.recreateParentService(RestartParentWriteAttributeHandler.java:145)
at
org.jboss.as.controller.RestartParentWriteAttributeHandler.recreateParentService(RestartParentWriteAttributeHandler.java:126)
at
org.jboss.as.controller.RestartParentWriteAttributeHandler.applyUpdateToRuntime(RestartParentWriteAttributeHandler.java:72)
at
org.jboss.as.controller.AbstractWriteAttributeHandler$1.execute(AbstractWriteAttributeHandler.java:104)
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:979)
at
org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:722)
at
org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:441)
at
org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1397)
at
org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:421)
at
org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:243)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:263)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:229)
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:243)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:217)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:137)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:161)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:287)
at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:244)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:157)
at
org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
at
org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
{code}