From a39814c238905448c035259d18d6743464e15605 Mon Sep 17 00:00:00 2001 From: Jeff Mesnil Date: Thu, 19 Nov 2015 15:47:52 +0100 Subject: [PATCH] [WFLY-5709] Fix Messaging HA configuration * the shared-store-colocated configuration creates replication live/backup configuration instead of shared-store ones. * live and backup configuration must always be created for colocated configurations. * remove failback-delay attribute that is ignored in Artemis since 1.0.0.wildfly-008 * add attribute initial-replication-sync-timeout to specify deterministically how long to wait for the initial replication. JIRA: https://issues.jboss.org/browse/WFLY-5709 --- .../org/jboss/as/messaging/MigrateOperation.java | 15 +++++++++++---- .../as/messaging/logging/MessagingLogger.java | 4 ++-- .../jboss/as/messaging/test/MigrateTestCase.java | 9 ++++----- .../activemq/MessagingSubsystemParser_1_0.java | 14 ++++++-------- .../messaging/activemq/ha/HAAttributes.java | 12 ++++++------ .../ha/ReplicationColocatedDefinition.java | 12 ++++-------- .../activemq/ha/ReplicationMasterDefinition.java | 7 +++++-- .../activemq/ha/ReplicationSlaveDefinition.java | 6 +++--- .../ha/SharedStoreColocatedDefinition.java | 12 ++++-------- .../activemq/ha/SharedStoreMasterDefinition.java | 3 --- .../activemq/ha/SharedStoreSlaveDefinition.java | 3 --- .../activemq/LocalDescriptions.properties | 2 +- .../schema/wildfly-messaging-activemq_1_0.xsd | 5 ++--- .../activemq/subsystem_1_0_ha-policy.xml | 15 ++++++--------- 14 files changed, 54 insertions(+), 65 deletions(-) diff --git a/legacy/messaging/src/main/java/org/jboss/as/messaging/MigrateOperation.java b/legacy/messaging/src/main/java/org/jboss/as/messaging/MigrateOperation.java index 7843eb458af1..ac8fa13a9f77 100644 --- a/legacy/messaging/src/main/java/org/jboss/as/messaging/MigrateOperation.java +++ b/legacy/messaging/src/main/java/org/jboss/as/messaging/MigrateOperation.java @@ -102,6 +102,7 @@ import org.jboss.as.controller.registry.ManagementResourceRegistration; import org.jboss.as.controller.registry.OperationEntry; import org.jboss.as.controller.registry.Resource; +import org.jboss.as.messaging.logging.MessagingLogger; import org.jboss.dmr.ModelNode; import org.jboss.dmr.ModelType; import org.jboss.dmr.Property; @@ -431,7 +432,7 @@ private void transformResources(OperationContext context, final ModelNode legacy if (parameterIsAllowed(name, resourceType)) { parentAddOp.get("params").add(new Property(name, value)); } else { - warnings.add(ROOT_LOGGER.couldNotMigrateIgnoredParameter(name, address.getParent())); + warnings.add(ROOT_LOGGER.couldNotMigrateUnsupportedAttribute(name, address.getParent())); } } continue; @@ -655,20 +656,20 @@ private void migrateHAPolicy(ModelNode serverAddOperation, Map warnings) { + if (newAddOp.hasDefined(legacyAttributeDefinition.getName())) { + newAddOp.remove(legacyAttributeDefinition.getName()); + warnings.add(MessagingLogger.ROOT_LOGGER.couldNotMigrateUnsupportedAttribute(legacyAttributeDefinition.getName(), pathAddress(newAddOp.get(OP_ADDR)))); + } } } diff --git a/legacy/messaging/src/main/java/org/jboss/as/messaging/logging/MessagingLogger.java b/legacy/messaging/src/main/java/org/jboss/as/messaging/logging/MessagingLogger.java index e3d9c1e8d14a..2c7c4d388657 100644 --- a/legacy/messaging/src/main/java/org/jboss/as/messaging/logging/MessagingLogger.java +++ b/legacy/messaging/src/main/java/org/jboss/as/messaging/logging/MessagingLogger.java @@ -824,6 +824,6 @@ public interface MessagingLogger extends BasicLogger { @Message(id = 86, value = "Could not migrate attribute %s from resource %s. The attribute uses an expression that can be resolved differently depending on system properties. To be able to migrate this property, replace the expression by an actual value.") String couldNotMigrateResourceAttributeWithExpression(String attribute, PathAddress address); - @Message(id = 87, value = "Could not migrate parameter %s from resource %s. This parameter is ignored in the new messaging-activemq subsystem.") - String couldNotMigrateIgnoredParameter(String attribute, PathAddress address); + @Message(id = 87, value = "Could not migrate attribute %s from resource %s. This attribute is no longer supported by the new messaging-activemq subsystem.") + String couldNotMigrateUnsupportedAttribute(String attribute, PathAddress address); } diff --git a/legacy/messaging/src/test/java/org/jboss/as/messaging/test/MigrateTestCase.java b/legacy/messaging/src/test/java/org/jboss/as/messaging/test/MigrateTestCase.java index 6c97afccd43e..60c289ad350a 100644 --- a/legacy/messaging/src/test/java/org/jboss/as/messaging/test/MigrateTestCase.java +++ b/legacy/messaging/src/test/java/org/jboss/as/messaging/test/MigrateTestCase.java @@ -98,19 +98,18 @@ public void testMigrateHA() throws Exception { ModelNode haPolicyForDefaultServer = model.get(SUBSYSTEM, MESSAGING_ACTIVEMQ_SUBSYSTEM_NAME, "server", "default", "ha-policy", "shared-store-master"); assertTrue(haPolicyForDefaultServer.isDefined()); - // default values - assertEquals(5000, haPolicyForDefaultServer.get("failback-delay").asLong()); + assertFalse(haPolicyForDefaultServer.get("failback-delay").isDefined()); assertEquals(false, haPolicyForDefaultServer.get("failover-on-server-shutdown").asBoolean()); ModelNode haPolicyForSharedStoreMasterServer = model.get(SUBSYSTEM, MESSAGING_ACTIVEMQ_SUBSYSTEM_NAME, "server", "shared-store-master", "ha-policy", "shared-store-master"); assertTrue(haPolicyForSharedStoreMasterServer.isDefined()); - assertEquals("${failback.delay:9876}", haPolicyForSharedStoreMasterServer.get("failback-delay").asString()); + assertFalse(haPolicyForSharedStoreMasterServer.get("failback-delay").isDefined()); assertEquals("${failover.on.shutdown:true}", haPolicyForSharedStoreMasterServer.get("failover-on-server-shutdown").asString()); ModelNode haPolicyForSharedStoreSlaveServer = model.get(SUBSYSTEM, MESSAGING_ACTIVEMQ_SUBSYSTEM_NAME, "server", "shared-store-slave", "ha-policy", "shared-store-slave"); assertTrue(haPolicyForSharedStoreSlaveServer.isDefined()); assertEquals("${allow.failback.1:false}", haPolicyForSharedStoreSlaveServer.get("allow-failback").asString()); - assertEquals("${failback.delay.1:1234}", haPolicyForSharedStoreSlaveServer.get("failback-delay").asString()); + assertFalse(haPolicyForSharedStoreSlaveServer.get("failback-delay").isDefined()); assertEquals("${failover.on.shutdown.1:true}", haPolicyForSharedStoreSlaveServer.get("failover-on-server-shutdown").asString()); ModelNode haPolicyForReplicationMasterServer = model.get(SUBSYSTEM, MESSAGING_ACTIVEMQ_SUBSYSTEM_NAME, "server", "replication-master", "ha-policy", "replication-master"); @@ -121,7 +120,7 @@ public void testMigrateHA() throws Exception { ModelNode haPolicyForReplicationSlaveServer = model.get(SUBSYSTEM, MESSAGING_ACTIVEMQ_SUBSYSTEM_NAME, "server", "replication-slave", "ha-policy", "replication-slave"); assertTrue(haPolicyForReplicationSlaveServer.isDefined()); assertEquals("${allow.failback.2:false}", haPolicyForReplicationSlaveServer.get("allow-failback").asString()); - assertEquals("${failback.delay.2:1234}", haPolicyForReplicationSlaveServer.get("failback-delay").asString()); + assertFalse(haPolicyForReplicationSlaveServer.get("failback-delay").isDefined()); assertEquals("${max.saved.replicated.journal.size:2}", haPolicyForReplicationSlaveServer.get("max-saved-replicated-journal-size").asString()); assertEquals("${replication.master.group.name:mygroup2}", haPolicyForReplicationSlaveServer.get("group-name").asString()); } diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java index c460278713ba..5bb340ce3108 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/MessagingSubsystemParser_1_0.java @@ -145,14 +145,15 @@ public class MessagingSubsystemParser_1_0 implements XMLStreamConstants, XMLElem .addAttributes( HAAttributes.CLUSTER_NAME, HAAttributes.GROUP_NAME, - HAAttributes.CHECK_FOR_LIVE_SERVER)) + HAAttributes.CHECK_FOR_LIVE_SERVER, + HAAttributes.INITIAL_REPLICATION_SYNC_TIMEOUT)) .addChild( builder(ReplicationSlaveDefinition.INSTANCE) .addAttributes( HAAttributes.CLUSTER_NAME, HAAttributes.GROUP_NAME, HAAttributes.ALLOW_FAILBACK, - HAAttributes.FAILBACK_DELAY, + HAAttributes.INITIAL_REPLICATION_SYNC_TIMEOUT, HAAttributes.MAX_SAVED_REPLICATED_JOURNAL_SIZE, HAAttributes.RESTART_BACKUP, ScaleDownAttributes.SCALE_DOWN, @@ -174,14 +175,15 @@ public class MessagingSubsystemParser_1_0 implements XMLStreamConstants, XMLElem .addAttributes( HAAttributes.CLUSTER_NAME, HAAttributes.GROUP_NAME, - HAAttributes.CHECK_FOR_LIVE_SERVER)) + HAAttributes.CHECK_FOR_LIVE_SERVER, + HAAttributes.INITIAL_REPLICATION_SYNC_TIMEOUT)) .addChild( builder(ReplicationSlaveDefinition.CONFIGURATION_INSTANCE) .addAttributes( HAAttributes.CLUSTER_NAME, HAAttributes.GROUP_NAME, HAAttributes.ALLOW_FAILBACK, - HAAttributes.FAILBACK_DELAY, + HAAttributes.INITIAL_REPLICATION_SYNC_TIMEOUT, HAAttributes.MAX_SAVED_REPLICATED_JOURNAL_SIZE, HAAttributes.RESTART_BACKUP, ScaleDownAttributes.SCALE_DOWN, @@ -192,13 +194,11 @@ public class MessagingSubsystemParser_1_0 implements XMLStreamConstants, XMLElem .addChild( builder(SharedStoreMasterDefinition.INSTANCE) .addAttributes( - HAAttributes.FAILBACK_DELAY, HAAttributes.FAILOVER_ON_SERVER_SHUTDOWN)) .addChild( builder(SharedStoreSlaveDefinition.INSTANCE) .addAttributes( HAAttributes.ALLOW_FAILBACK, - HAAttributes.FAILBACK_DELAY, HAAttributes.FAILOVER_ON_SERVER_SHUTDOWN, HAAttributes.RESTART_BACKUP, ScaleDownAttributes.SCALE_DOWN, @@ -217,13 +217,11 @@ public class MessagingSubsystemParser_1_0 implements XMLStreamConstants, XMLElem .addChild( builder(SharedStoreMasterDefinition.CONFIGURATION_INSTANCE) .addAttributes( - HAAttributes.FAILBACK_DELAY, HAAttributes.FAILOVER_ON_SERVER_SHUTDOWN)) .addChild( builder(SharedStoreSlaveDefinition.CONFIGURATION_INSTANCE) .addAttributes( HAAttributes.ALLOW_FAILBACK, - HAAttributes.FAILBACK_DELAY, HAAttributes.FAILOVER_ON_SERVER_SHUTDOWN, HAAttributes.RESTART_BACKUP, ScaleDownAttributes.SCALE_DOWN, diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/HAAttributes.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/HAAttributes.java index 33973dcded83..1131b9696e35 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/HAAttributes.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/HAAttributes.java @@ -93,22 +93,22 @@ public class HAAttributes { .setRestartAllServices() .build(); - public static final SimpleAttributeDefinition FAILBACK_DELAY = create("failback-delay", LONG) - .setDefaultValue(new ModelNode(ActiveMQDefaultConfiguration.getDefaultFailbackDelay())) - .setMeasurementUnit(MILLISECONDS) + public static final SimpleAttributeDefinition FAILOVER_ON_SERVER_SHUTDOWN = create("failover-on-server-shutdown", ModelType.BOOLEAN) + .setDefaultValue(new ModelNode(ActiveMQDefaultConfiguration.isDefaultFailoverOnServerShutdown())) .setAllowNull(true) .setAllowExpression(true) .setRestartAllServices() .build(); - public static final SimpleAttributeDefinition FAILOVER_ON_SERVER_SHUTDOWN = create("failover-on-server-shutdown", ModelType.BOOLEAN) - .setDefaultValue(new ModelNode(ActiveMQDefaultConfiguration.isDefaultFailoverOnServerShutdown())) + public static SimpleAttributeDefinition GROUP_NAME = SimpleAttributeDefinitionBuilder.create(CommonAttributes.GROUP_NAME, STRING) .setAllowNull(true) .setAllowExpression(true) .setRestartAllServices() .build(); - public static SimpleAttributeDefinition GROUP_NAME = SimpleAttributeDefinitionBuilder.create(CommonAttributes.GROUP_NAME, STRING) + public static final SimpleAttributeDefinition INITIAL_REPLICATION_SYNC_TIMEOUT = create("initial-replication-sync-timeout", LONG) + .setDefaultValue(new ModelNode(ActiveMQDefaultConfiguration.getDefaultInitialReplicationSyncTimeout())) + .setMeasurementUnit(MILLISECONDS) .setAllowNull(true) .setAllowExpression(true) .setRestartAllServices() diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationColocatedDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationColocatedDefinition.java index b1ded220ca6a..17c51ef78660 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationColocatedDefinition.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationColocatedDefinition.java @@ -114,16 +114,12 @@ static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelN } ModelNode masterConfigurationModel = model.get(CONFIGURATION, MASTER); - if (masterConfigurationModel.isDefined()) { - HAPolicyConfiguration masterConfiguration = ReplicationMasterDefinition.buildConfiguration(context, masterConfigurationModel); - haPolicyConfiguration.setLiveConfig(masterConfiguration); - } + HAPolicyConfiguration masterConfiguration = ReplicationMasterDefinition.buildConfiguration(context, masterConfigurationModel); + haPolicyConfiguration.setLiveConfig(masterConfiguration); ModelNode slaveConfigurationModel = model.get(CONFIGURATION, SLAVE); - if (slaveConfigurationModel.isDefined()) { - HAPolicyConfiguration slaveConfiguration = ReplicationSlaveDefinition.buildConfiguration(context, slaveConfigurationModel); - haPolicyConfiguration.setBackupConfig(slaveConfiguration); - } + HAPolicyConfiguration slaveConfiguration = ReplicationSlaveDefinition.buildConfiguration(context, slaveConfigurationModel); + haPolicyConfiguration.setBackupConfig(slaveConfiguration); return haPolicyConfiguration; } diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationMasterDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationMasterDefinition.java index 7ff2dbfed58a..98d7650a7768 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationMasterDefinition.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationMasterDefinition.java @@ -27,6 +27,7 @@ import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.CHECK_FOR_LIVE_SERVER; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.CLUSTER_NAME; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.GROUP_NAME; +import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.INITIAL_REPLICATION_SYNC_TIMEOUT; import static org.wildfly.extension.messaging.activemq.ha.ManagementHelper.createAddOperation; import java.util.Arrays; @@ -55,7 +56,8 @@ public class ReplicationMasterDefinition extends PersistentResourceDefinition { public static Collection ATTRIBUTES = Collections.unmodifiableList(Arrays.asList( (AttributeDefinition) CLUSTER_NAME, GROUP_NAME, - CHECK_FOR_LIVE_SERVER + CHECK_FOR_LIVE_SERVER, + INITIAL_REPLICATION_SYNC_TIMEOUT )); public static final ReplicationMasterDefinition INSTANCE = new ReplicationMasterDefinition(MessagingExtension.REPLICATION_MASTER_PATH, false); @@ -84,7 +86,8 @@ public Collection getAttributes() { static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { ReplicatedPolicyConfiguration haPolicyConfiguration = new ReplicatedPolicyConfiguration(); - haPolicyConfiguration.setCheckForLiveServer(CHECK_FOR_LIVE_SERVER.resolveModelAttribute(context, model).asBoolean()); + haPolicyConfiguration.setCheckForLiveServer(CHECK_FOR_LIVE_SERVER.resolveModelAttribute(context, model).asBoolean()) + .setInitialReplicationSyncTimeout(INITIAL_REPLICATION_SYNC_TIMEOUT.resolveModelAttribute(context, model).asLong()); ModelNode clusterName = CLUSTER_NAME.resolveModelAttribute(context, model); if (clusterName.isDefined()) { diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationSlaveDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationSlaveDefinition.java index 6ba036429af3..8e2c9caaefa7 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationSlaveDefinition.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/ReplicationSlaveDefinition.java @@ -25,8 +25,8 @@ import static org.wildfly.extension.messaging.activemq.CommonAttributes.HA_POLICY; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.ALLOW_FAILBACK; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.CLUSTER_NAME; -import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.FAILBACK_DELAY; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.GROUP_NAME; +import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.INITIAL_REPLICATION_SYNC_TIMEOUT; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.MAX_SAVED_REPLICATED_JOURNAL_SIZE; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.RESTART_BACKUP; import static org.wildfly.extension.messaging.activemq.ha.ManagementHelper.createAddOperation; @@ -62,7 +62,7 @@ public class ReplicationSlaveDefinition extends PersistentResourceDefinition { attributes.add(CLUSTER_NAME); attributes.add(GROUP_NAME); attributes.add(ALLOW_FAILBACK); - attributes.add(FAILBACK_DELAY); + attributes.add(INITIAL_REPLICATION_SYNC_TIMEOUT); attributes.add(MAX_SAVED_REPLICATED_JOURNAL_SIZE); attributes.add(RESTART_BACKUP); @@ -97,7 +97,7 @@ public Collection getAttributes() { static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { ReplicaPolicyConfiguration haPolicyConfiguration = new ReplicaPolicyConfiguration() .setAllowFailBack(ALLOW_FAILBACK.resolveModelAttribute(context, model).asBoolean()) - .setFailbackDelay(FAILBACK_DELAY.resolveModelAttribute(context, model).asLong()) + .setInitialReplicationSyncTimeout(INITIAL_REPLICATION_SYNC_TIMEOUT.resolveModelAttribute(context, model).asLong()) .setMaxSavedReplicatedJournalsSize(MAX_SAVED_REPLICATED_JOURNAL_SIZE.resolveModelAttribute(context, model).asInt()) .setScaleDownConfiguration(addScaleDownConfiguration(context, model)) .setRestartBackup(RESTART_BACKUP.resolveModelAttribute(context, model).asBoolean()); diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreColocatedDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreColocatedDefinition.java index 3dba0504d74e..728e80ea25b4 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreColocatedDefinition.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreColocatedDefinition.java @@ -106,16 +106,12 @@ static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelN .setBackupPortOffset(BACKUP_PORT_OFFSET.resolveModelAttribute(context, model).asInt()); ModelNode masterConfigurationModel = model.get(CONFIGURATION, MASTER); - if (masterConfigurationModel.isDefined()) { - HAPolicyConfiguration masterConfiguration = ReplicationMasterDefinition.buildConfiguration(context, masterConfigurationModel); - haPolicyConfiguration.setLiveConfig(masterConfiguration); - } + HAPolicyConfiguration masterConfiguration = SharedStoreMasterDefinition.buildConfiguration(context, masterConfigurationModel); + haPolicyConfiguration.setLiveConfig(masterConfiguration); ModelNode slaveConfigurationModel = model.get(CONFIGURATION, SLAVE); - if (slaveConfigurationModel.isDefined()) { - HAPolicyConfiguration slaveConfiguration = ReplicationSlaveDefinition.buildConfiguration(context, slaveConfigurationModel); - haPolicyConfiguration.setBackupConfig(slaveConfiguration); - } + HAPolicyConfiguration slaveConfiguration = SharedStoreSlaveDefinition.buildConfiguration(context, slaveConfigurationModel); + haPolicyConfiguration.setBackupConfig(slaveConfiguration); return haPolicyConfiguration; } diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreMasterDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreMasterDefinition.java index 4be10efb588f..394b4f7e00ca 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreMasterDefinition.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreMasterDefinition.java @@ -23,7 +23,6 @@ package org.wildfly.extension.messaging.activemq.ha; import static org.wildfly.extension.messaging.activemq.CommonAttributes.HA_POLICY; -import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.FAILBACK_DELAY; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.FAILOVER_ON_SERVER_SHUTDOWN; import static org.wildfly.extension.messaging.activemq.ha.ManagementHelper.createAddOperation; @@ -52,7 +51,6 @@ public class SharedStoreMasterDefinition extends PersistentResourceDefinition { public static Collection ATTRIBUTES = Collections.unmodifiableList(Arrays.asList( - (AttributeDefinition) FAILBACK_DELAY, FAILOVER_ON_SERVER_SHUTDOWN )); @@ -82,7 +80,6 @@ public Collection getAttributes() { static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { return new SharedStoreMasterPolicyConfiguration() - .setFailbackDelay(FAILBACK_DELAY.resolveModelAttribute(context, model).asLong()) .setFailoverOnServerShutdown(FAILOVER_ON_SERVER_SHUTDOWN.resolveModelAttribute(context, model).asBoolean()); } } \ No newline at end of file diff --git a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreSlaveDefinition.java b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreSlaveDefinition.java index 7f82d3cb1c00..c70eb56dc848 100644 --- a/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreSlaveDefinition.java +++ b/messaging-activemq/src/main/java/org/wildfly/extension/messaging/activemq/ha/SharedStoreSlaveDefinition.java @@ -25,7 +25,6 @@ import static org.jboss.as.controller.OperationContext.Stage.MODEL; import static org.wildfly.extension.messaging.activemq.CommonAttributes.HA_POLICY; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.ALLOW_FAILBACK; -import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.FAILBACK_DELAY; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.FAILOVER_ON_SERVER_SHUTDOWN; import static org.wildfly.extension.messaging.activemq.ha.HAAttributes.RESTART_BACKUP; import static org.wildfly.extension.messaging.activemq.ha.ManagementHelper.createAddOperation; @@ -59,7 +58,6 @@ public class SharedStoreSlaveDefinition extends PersistentResourceDefinition { static { Collection attributes = new ArrayList<>(); attributes.add(ALLOW_FAILBACK); - attributes.add(FAILBACK_DELAY); attributes.add(FAILOVER_ON_SERVER_SHUTDOWN); attributes.add(RESTART_BACKUP); @@ -102,7 +100,6 @@ public Collection getAttributes() { static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { return new SharedStoreSlavePolicyConfiguration() .setAllowFailBack(ALLOW_FAILBACK.resolveModelAttribute(context, model).asBoolean()) - .setFailbackDelay(FAILBACK_DELAY.resolveModelAttribute(context, model).asLong()) .setFailoverOnServerShutdown(FAILOVER_ON_SERVER_SHUTDOWN.resolveModelAttribute(context, model).asBoolean()) .setRestartBackup(RESTART_BACKUP.resolveModelAttribute(context, model).asBoolean()) .setScaleDownConfiguration(ScaleDownAttributes.addScaleDownConfiguration(context, model)); diff --git a/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties b/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties index 8cc9dac3aff6..bef9cf817eab 100644 --- a/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties +++ b/messaging-activemq/src/main/resources/org/wildfly/extension/messaging/activemq/LocalDescriptions.properties @@ -241,9 +241,9 @@ ha-policy.backup-request-retry-interval=How long (in ms) to wait for retries bet ha-policy.check-for-live-server=Whether to check the cluster for another server using the same server ID when starting up. ha-policy.cluster-name=Name of the cluster used for replication. ha-policy.excluded-connectors=The connectors that must not have their port offset. -ha-policy.failback-delay=delay to wait before failback occurs on (live's) restart ha-policy.failover-on-server-shutdown=Whether the server must failover when it is normally shutdown. ha-policy.group-name=If set, backup servers will only pair with live servers with matching group-name. +ha-policy.initial-replication-sync-timeout=How long to wait until the initiation replication is synchronized. ha-policy.max-backups=Whether or not this live server will accept backup requests from other live servers. ha-policy.max-saved-replicated-journal-size=This specifies how many times a replicated backup server can restart after moving its files on start. Once there are this number of backup journal files the server will stop permanently after if fails back. ha-policy.remove=Remove the HA Policy. diff --git a/messaging-activemq/src/main/resources/schema/wildfly-messaging-activemq_1_0.xsd b/messaging-activemq/src/main/resources/schema/wildfly-messaging-activemq_1_0.xsd index 87888b237906..7eb930362335 100644 --- a/messaging-activemq/src/main/resources/schema/wildfly-messaging-activemq_1_0.xsd +++ b/messaging-activemq/src/main/resources/schema/wildfly-messaging-activemq_1_0.xsd @@ -616,6 +616,7 @@ + @@ -626,13 +627,12 @@ - + - @@ -642,7 +642,6 @@ - diff --git a/messaging-activemq/src/test/resources/org/wildfly/extension/messaging/activemq/subsystem_1_0_ha-policy.xml b/messaging-activemq/src/test/resources/org/wildfly/extension/messaging/activemq/subsystem_1_0_ha-policy.xml index e2057f9ea2e4..266f624d5e6b 100644 --- a/messaging-activemq/src/test/resources/org/wildfly/extension/messaging/activemq/subsystem_1_0_ha-policy.xml +++ b/messaging-activemq/src/test/resources/org/wildfly/extension/messaging/activemq/subsystem_1_0_ha-policy.xml @@ -20,14 +20,15 @@ + check-for-live-server="${replication-master.check-for-live-server:false}" + initial-replication-sync-timeout="${replication-master.initial-replication-sync-timeout:1234}"/> - + - +