Uploaded image for project: 'WildFly Core'
  1. WildFly Core
  2. WFCORE-837

Running tearDown() method of custom server setup task throws AssertionError in ActiveOperationSupport

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.0.0.Final, 1.0.1.Final, 2.0.0.Alpha10
    • Fix Version/s: None
    • Component/s: Management
    • Labels:
      None
    • Steps to Reproduce:
      Hide

      Source code is here: https://github.com/vchepeli/infinispan.git in ISPN-4502 branch
      1) checkout ISPN-4502 branch
      2) run mvn clean install pl core -DskipTests to install core artifact into local repo
      3) run mvn clean verify -pl integrationtests/security-it -Dit.test=NodeAuthenticationKrb*IT to run integration tests

      Show
      Source code is here: https://github.com/vchepeli/infinispan.git in ISPN-4502 branch 1) checkout ISPN-4502 branch 2) run mvn clean install pl core -DskipTests to install core artifact into local repo 3) run mvn clean verify -pl integrationtests/security-it -Dit.test=NodeAuthenticationKrb*IT to run integration tests

      Description

      Running tearDown() method of custom server setup tasks in AbstractNodeAuthentication abstract test:
      KerberosSystemPropertiesSetupTask.class,
      SecurityDomainsSetupTask.class,
      SecurityTraceLoggingServerSetupTask.class,
      KrbLdapServerSetupTask.class,
      Krb5ConfServerSetupTask.class
      throws AssertionError.
      Example of SecurityTraceLoggingServerSetupTask

          @Override
          public void tearDown(ManagementClient managementClient, String containerId) throws Exception {
              if (categories == null || categories.isEmpty()) {
                  return;
              }
      
              final List<ModelNode> updates = new ArrayList<ModelNode>();
      
              for (String category : categories) {
                  if (category == null || category.length() == 0) {
                      continue;
                  }
                  updates.add(Util.createRemoveOperation(PATH_LOGGING.append("logger", category)));
              }
              ModelNode op = Util.createEmptyOperation("write-attribute", PATH_LOGGING.append("console-handler", "CONSOLE"));
              op.get("name").set("level");
              op.get("value").set("INFO");
              CoreUtils.applyUpdates(updates, managementClient.getControllerClient()); // Applying changes fails here
          }
      

      and in ActiveOperationSupport:151 shutdown property is already true but should be still false

          protected <T, A> ActiveOperation<T, A> registerActiveOperation(final Integer id, A attachment, ActiveOperation.CompletedCallback<T> callback) {
              lock.lock(); try {
                  // Check that we still allow registration
                  assert ! shutdown; // Here it throws AssertionError
                  final Integer operationId;
                  if(id == null) {
                      // If we did not get an operationId, create a new one
                      operationId = operationIdManager.createBatchId();
                  } else {
                      // Check that the operationId is not already taken
                      if(! operationIdManager.lockBatchId(id)) {
                          throw ProtocolLogger.ROOT_LOGGER.operationIdAlreadyExists(id);
                      }
                      operationId = id;
                  }
                  final ActiveOperationImpl<T, A> request = new ActiveOperationImpl<T, A>(operationId, attachment, getCheckedCallback(callback));
                  final ActiveOperation<?, ?> existing =  activeRequests.putIfAbsent(operationId, request);
                  if(existing != null) {
                      throw ProtocolLogger.ROOT_LOGGER.operationIdAlreadyExists(operationId);
                  }
                  activeCount++; // condition.signalAll();
                  return request;
              } finally {
                  lock.unlock();
              }
          }
      

      Stack trace is following
      java.lang.AssertionError: null
      at org.jboss.as.protocol.mgmt.ActiveOperationSupport.registerActiveOperation(ActiveOperationSupport.java:151)
      at org.jboss.as.protocol.mgmt.ActiveOperationSupport.registerActiveOperation(ActiveOperationSupport.java:121)
      at org.jboss.as.protocol.mgmt.ManagementChannelHandler.executeRequest(ManagementChannelHandler.java:121)
      at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeRequest(AbstractModelControllerClient.java:263)
      at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:168)
      at org.jboss.as.controller.client.impl.AbstractModelControllerClient.executeForResult(AbstractModelControllerClient.java:147)
      at org.jboss.as.controller.client.impl.AbstractModelControllerClient.execute(AbstractModelControllerClient.java:80)
      at org.jboss.as.test.integration.security.common.CoreUtils.applyUpdate(CoreUtils.java:177)
      at org.jboss.as.test.integration.security.common.CoreUtils.applyUpdates(CoreUtils.java:172)
      at org.infinispan.test.integration.security.tasks.AbstractTraceLoggingServer

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              ehugonnet Emmanuel Hugonnet
              Reporter:
              vchepeli Vitalii Chepeliuk (Inactive)
              Tester:
              Vitalii Chepeliuk Vitalii Chepeliuk (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: