@Override
  public void rollbackFromOperateOnConfigNodes(ConfigNodeProcedureEnv env)
      throws SubscriptionException {
    LOGGER.info(
        "AlterConsumerGroupProcedure: rollbackFromOperateOnConfigNodes({})",
        updatedConsumerGroupMeta.getConsumerGroupId());

    TSStatus response;
    try {
      response =
          env.getConfigManager()
              .getConsensusManager()
              .write(new AlterConsumerGroupPlan(existingConsumerGroupMeta));
    } catch (ConsensusException e) {
      LOGGER.warn("Failed in the write API executing the consensus layer due to: ", e);
      response =
          new TSStatus(TSStatusCode.ALTER_CONSUMER_ERROR.getStatusCode())
              .setMessage(e.getMessage());
    }
    if (response.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
      throw new SubscriptionException(
          String.format(
              "Failed to rollback from altering consumer group (%s -> %s) on config nodes, because %s",
              existingConsumerGroupMeta, updatedConsumerGroupMeta, response));
    }
  }
This is only used when the subscription info lock is held by another procedure.
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/subscription/consumer/AlterConsumerGroupProcedure.java