Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-9405

NPE when trying to remove an EJB subsystem channel-creation-options resource

    XMLWordPrintable

Details

    • Workaround Exists
    • Hide

      Put the server in admin-only mode before removing the subsystem.

      [standalone@localhost:9990 /] reload --admin-only=true
      [standalone@localhost:9990 /] /subsystem=ejb3:remove
      {"outcome" => "success"}
      

      Putting the server in admin-only before doing this kind of surgery is a good idea anyway.

      Show
      Put the server in admin-only mode before removing the subsystem. [standalone@localhost:9990 /] reload --admin-only= true [standalone@localhost:9990 /] /subsystem=ejb3:remove { "outcome" => "success" } Putting the server in admin-only before doing this kind of surgery is a good idea anyway.

    Description

      This fails:

      [standalone@localhost:9990 /] /subsystem=ejb3:remove
      {
          "outcome" => "failed",
          "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.NullPointerException",
          "rolled-back" => true
      }
      

      with this in the server log:

      15:53:42,572 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) WFLYCTL0013: Operation ("remove") failed - address: ([
          ("subsystem" => "ejb3"),
          ("service" => "remote"),
          ("channel-creation-options" => "MAX_OUTBOUND_MESSAGES")
      ]): java.lang.NullPointerException
      	at org.jboss.as.controller.OperationContextImpl.readResourceFromRoot(OperationContextImpl.java:894)
      	at org.jboss.as.controller.OperationContextImpl.readResourceFromRoot(OperationContextImpl.java:884)
      	at org.jboss.as.controller.RestartParentResourceHandlerBase.getModel(RestartParentResourceHandlerBase.java:216)
      	at org.jboss.as.controller.RestartParentResourceHandlerBase.access$000(RestartParentResourceHandlerBase.java:39)
      	at org.jboss.as.controller.RestartParentResourceHandlerBase$1.execute(RestartParentResourceHandlerBase.java:66)
      	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:980)
      	at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:726)
      	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:450)
      	at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1402)
      	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:418)
      ...
      

      I believe a post-boot add of this resource would fail as well.

      Problem is ChannelCreationOptionRemove and ChannelCreationOptionAdd in RemoteConnectorChannelCreationOptionResource use an incorrect parentKeyName. These handlers extend RestartParentResourceHandlerBase but are passing the value of the parent element as "parentKeyName" instead of its key; i.e. "remote" instead of "service".

      Even though this code has been like this since 2012, this is somewhat a regression since before the current version our standard configs did not include resources of this type. So users could hit this in previous releases but now they are more likely to.

      Attachments

        Issue Links

          Activity

            People

              bstansbe@redhat.com Brian Stansberry
              bstansbe@redhat.com Brian Stansberry
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: