@Override protected void setupHAPolicyConfiguration() { if (isExtraBackupGroupNameReplicates) { ((ReplicatedPolicyConfiguration) liveConfig.getHAPolicyConfiguration()).setGroupName("foo"); ((ReplicaPolicyConfiguration) backupConfig.getHAPolicyConfiguration()).setGroupName("foo"); } }
static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { ReplicatedPolicyConfiguration haPolicyConfiguration = new ReplicatedPolicyConfiguration(); 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()) { haPolicyConfiguration.setClusterName(clusterName.asString()); } ModelNode groupName = GROUP_NAME.resolveModelAttribute(context, model); if (groupName.isDefined()) { haPolicyConfiguration.setGroupName(groupName.asString()); } return haPolicyConfiguration; } }
static HAPolicyConfiguration buildConfiguration(OperationContext context, ModelNode model) throws OperationFailedException { ReplicatedPolicyConfiguration haPolicyConfiguration = new ReplicatedPolicyConfiguration(); 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()) { haPolicyConfiguration.setClusterName(clusterName.asString()); } ModelNode groupName = GROUP_NAME.resolveModelAttribute(context, model); if (groupName.isDefined()) { haPolicyConfiguration.setGroupName(groupName.asString()); } return haPolicyConfiguration; } }
@Override protected void createReplicatedConfigs() throws Exception { super.createReplicatedConfigs(); ((ReplicatedPolicyConfiguration) liveConfig.getHAPolicyConfiguration()).setGroupName("liveNodeGroup1"); ((ReplicaPolicyConfiguration) backupConfig.getHAPolicyConfiguration()).setGroupName("liveNodeGroup1"); }
@Override protected void setupHAPolicyConfiguration() { super.setupHAPolicyConfiguration(); ((ReplicatedPolicyConfiguration) liveConfig.getHAPolicyConfiguration()).setGroupName("liveNodeGroup1"); ((ReplicaPolicyConfiguration) backupConfig.getHAPolicyConfiguration()).setGroupName("liveNodeGroup1"); } }
@Override protected void setupServers() throws Exception { super.setupServers(); //we need to know who is connected to who ((ReplicatedPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration()).setGroupName("group0"); ((ReplicatedPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicatedPolicyConfiguration) servers[2].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); ((ReplicaPolicyConfiguration) servers[4].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicaPolicyConfiguration) servers[5].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); ReplicatedPolicyConfiguration replicatedPolicyConf = new ReplicatedPolicyConfiguration().setQuorumVoteWait(QUORUM_VOTE_WAIT_CONFIGURED_TIME_SEC); replicatedPolicyConf.setGroupName("group0"); replicatedPolicyConf.setVoteRetries(5); replicatedPolicyConf.setVoteRetryWait(100); servers[3].getConfiguration().setHAPolicyConfiguration(replicatedPolicyConf); }
@Override protected void setupServers() throws Exception { super.setupServers(); //we need to know who is connected to who ((ReplicatedPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration()).setGroupName("group0"); ((ReplicatedPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicatedPolicyConfiguration) servers[2].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); ((ReplicaPolicyConfiguration) servers[3].getConfiguration().getHAPolicyConfiguration()).setGroupName("group0"); ((ReplicaPolicyConfiguration) servers[4].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicaPolicyConfiguration) servers[5].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); //reduce the numbers so that the vote finishes faster ((ReplicaPolicyConfiguration) servers[3].getConfiguration().getHAPolicyConfiguration()).setVoteRetries(5); ((ReplicaPolicyConfiguration) servers[3].getConfiguration().getHAPolicyConfiguration()).setVoteRetryWait(500); }
@Test public void testExtraBackupGroupNameReplicates() throws Exception { ReplicaPolicyConfiguration backupReplicaPolicyConfiguration = (ReplicaPolicyConfiguration) backupServer.getServer().getConfiguration().getHAPolicyConfiguration(); backupReplicaPolicyConfiguration.setGroupName("foo"); ReplicatedPolicyConfiguration replicatedPolicyConfiguration = (ReplicatedPolicyConfiguration) liveServer.getServer().getConfiguration().getHAPolicyConfiguration(); replicatedPolicyConfiguration.setGroupName("foo"); Configuration secondBackupConfig = backupConfig.copy(); TransportConfiguration tc = secondBackupConfig.getAcceptorConfigurations().iterator().next(); TestableServer secondBackupServer = createTestableServer(secondBackupConfig); tc.getParams().put("serverId", "2"); secondBackupConfig.setBindingsDirectory(getBindingsDir(1, true)).setJournalDirectory(getJournalDir(1, true)).setPagingDirectory(getPageDir(1, true)).setLargeMessagesDirectory(getLargeMessagesDir(1, true)).setSecurityEnabled(false); ReplicaPolicyConfiguration replicaPolicyConfiguration = (ReplicaPolicyConfiguration) secondBackupConfig.getHAPolicyConfiguration(); replicaPolicyConfiguration.setGroupName("foo"); waitForRemoteBackupSynchronization(backupServer.getServer()); secondBackupServer.start(); Thread.sleep(5000); backupServer.stop(); waitForSync(secondBackupServer.getServer()); waitForRemoteBackupSynchronization(secondBackupServer.getServer()); }
private ReplicatedPolicyConfiguration createReplicatedHaPolicy(Element policyNode) { ReplicatedPolicyConfiguration configuration = new ReplicatedPolicyConfiguration(); configuration.setQuorumVoteWait(getInteger(policyNode, "quorum-vote-wait", ActiveMQDefaultConfiguration.getDefaultQuorumVoteWait(), Validators.GT_ZERO)); configuration.setCheckForLiveServer(getBoolean(policyNode, "check-for-live-server", configuration.isCheckForLiveServer())); configuration.setGroupName(getString(policyNode, "group-name", configuration.getGroupName(), Validators.NO_CHECK)); configuration.setClusterName(getString(policyNode, "cluster-name", configuration.getClusterName(), Validators.NO_CHECK)); configuration.setInitialReplicationSyncTimeout(getLong(policyNode, "initial-replication-sync-timeout", configuration.getInitialReplicationSyncTimeout(), Validators.GT_ZERO)); configuration.setVoteOnReplicationFailure(getBoolean(policyNode, "vote-on-replication-failure", configuration.getVoteOnReplicationFailure())); configuration.setVoteRetries(getInteger(policyNode, "vote-retries", configuration.getVoteRetries(), Validators.MINUS_ONE_OR_GE_ZERO)); configuration.setVoteRetryWait(getLong(policyNode, "vote-retry-wait", configuration.getVoteRetryWait(), Validators.GT_ZERO)); configuration.setRetryReplicationWait(getLong(policyNode, "retry-replication-wait", configuration.getVoteRetryWait(), Validators.GT_ZERO)); configuration.setQuorumSize(getInteger(policyNode, "quorum-size", configuration.getQuorumSize(), Validators.MINUS_ONE_OR_GT_ZERO)); return configuration; }
haPolicyConfiguration = new ReplicatedPolicyConfiguration(); if (getNodeGroupName() != null) { ((ReplicatedPolicyConfiguration) haPolicyConfiguration).setGroupName(getNodeGroupName() + "-" + i);
@Override protected void setupServers() throws Exception { // The backups setupBackupServer(3, 0, isFileStorage(), isSharedStorage(), isNetty()); setupBackupServer(4, 1, isFileStorage(), isSharedStorage(), isNetty()); setupBackupServer(5, 2, isFileStorage(), isSharedStorage(), isNetty()); // The lives setupLiveServer(0, isFileStorage(), isSharedStorage(), isNetty(), false); setupLiveServer(1, isFileStorage(), isSharedStorage(), isNetty(), false); setupLiveServer(2, isFileStorage(), isSharedStorage(), isNetty(), false); //we need to know who is connected to who ((ReplicatedPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration()).setGroupName("group0"); ((ReplicatedPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicatedPolicyConfiguration) servers[2].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); ((ReplicaPolicyConfiguration) servers[3].getConfiguration().getHAPolicyConfiguration()).setGroupName("group0"); ((ReplicaPolicyConfiguration) servers[4].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicaPolicyConfiguration) servers[5].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); // Configure to vote to stay live, when backup dies ((ReplicatedPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration()).setVoteOnReplicationFailure(true); ((ReplicatedPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration()).setVoteOnReplicationFailure(true); ((ReplicatedPolicyConfiguration) servers[2].getConfiguration().getHAPolicyConfiguration()).setVoteOnReplicationFailure(true); }
((ReplicatedPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicatedPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); ((ReplicaPolicyConfiguration) servers[2].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1");
((ReplicatedPolicyConfiguration) servers[0].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1"); ((ReplicatedPolicyConfiguration) servers[1].getConfiguration().getHAPolicyConfiguration()).setGroupName("group2"); ((ReplicaPolicyConfiguration) servers[2].getConfiguration().getHAPolicyConfiguration()).setGroupName("group1");