This closes #5 on SharedStorage test
Notice: there was some rebase I had to do on this one to fix some test API changes
This commit is contained in:
commit
34aec3bc36
|
@ -60,7 +60,9 @@ public final class SharedStoreBackupActivation extends Activation
|
||||||
{
|
{
|
||||||
activeMQServer.getNodeManager().startBackup();
|
activeMQServer.getNodeManager().startBackup();
|
||||||
|
|
||||||
boolean scalingDown = sharedStoreSlavePolicy.getScaleDownPolicy() != null;
|
ScaleDownPolicy scaleDownPolicy = sharedStoreSlavePolicy.getScaleDownPolicy();
|
||||||
|
|
||||||
|
boolean scalingDown = scaleDownPolicy != null && scaleDownPolicy.isEnabled();
|
||||||
|
|
||||||
if (!activeMQServer.initialisePart1(scalingDown))
|
if (!activeMQServer.initialisePart1(scalingDown))
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -0,0 +1,105 @@
|
||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright ownership.
|
||||||
|
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
* (the "License"); you may not use this file except in compliance with
|
||||||
|
* the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.apache.activemq.artemis.tests.integration.cluster.failover;
|
||||||
|
|
||||||
|
import org.apache.activemq.artemis.api.core.TransportConfiguration;
|
||||||
|
import org.apache.activemq.artemis.core.config.ScaleDownConfiguration;
|
||||||
|
import org.apache.activemq.artemis.core.config.ha.SharedStoreMasterPolicyConfiguration;
|
||||||
|
import org.apache.activemq.artemis.core.config.ha.SharedStoreSlavePolicyConfiguration;
|
||||||
|
import org.apache.activemq.artemis.core.server.impl.InVMNodeManager;
|
||||||
|
import org.apache.activemq.artemis.tests.integration.cluster.util.TestableServer;
|
||||||
|
import org.apache.activemq.artemis.tests.util.TransportConfigurationUtils;
|
||||||
|
import org.junit.Assert;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class SharedStoreBackupTest extends FailoverTestBase
|
||||||
|
{
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testStartSharedBackupWithScalingDownPolicyDisabled() throws Exception
|
||||||
|
{
|
||||||
|
System.out.println("is backup active: " + backupServer.isActive());
|
||||||
|
liveServer.stop();
|
||||||
|
// wait max 10s for backup to activate
|
||||||
|
Assert.assertTrue("Backup did not activate in 10s timeout.", waitForBackupToBecomeActive(backupServer, 10000));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if backup started in given timeout. False otherwise.
|
||||||
|
* @param backupServer backup server
|
||||||
|
* @param waitTimeout timeout in milliseconds
|
||||||
|
* @return returns true if backup started in given timeout. False otherwise
|
||||||
|
*/
|
||||||
|
private boolean waitForBackupToBecomeActive(TestableServer backupServer, long waitTimeout) throws Exception
|
||||||
|
{
|
||||||
|
|
||||||
|
long startTime = System.currentTimeMillis();
|
||||||
|
boolean isBackupStarted;
|
||||||
|
// wait given timeout for backup to activate
|
||||||
|
while (!(isBackupStarted = backupServer.isActive()) && System.currentTimeMillis() - startTime < waitTimeout)
|
||||||
|
{
|
||||||
|
Thread.sleep(300);
|
||||||
|
}
|
||||||
|
return isBackupStarted;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void createConfigs() throws Exception
|
||||||
|
{
|
||||||
|
nodeManager = new InVMNodeManager(false);
|
||||||
|
TransportConfiguration liveConnector = getConnectorTransportConfiguration(true);
|
||||||
|
TransportConfiguration backupConnector = getConnectorTransportConfiguration(false);
|
||||||
|
System.out.println("backup config created - mnovak");
|
||||||
|
backupConfig =
|
||||||
|
super.createDefaultConfig(false)
|
||||||
|
.clearAcceptorConfigurations()
|
||||||
|
.addAcceptorConfiguration(getAcceptorTransportConfiguration(false))
|
||||||
|
.setHAPolicyConfiguration(new SharedStoreSlavePolicyConfiguration().setFailbackDelay(1000)
|
||||||
|
.setScaleDownConfiguration(new ScaleDownConfiguration().setEnabled(false))
|
||||||
|
.setRestartBackup(false))
|
||||||
|
.addConnectorConfiguration(liveConnector.getName(), liveConnector)
|
||||||
|
.addConnectorConfiguration(backupConnector.getName(), backupConnector)
|
||||||
|
.addClusterConfiguration(basicClusterConnectionConfig(backupConnector.getName(),
|
||||||
|
liveConnector.getName()));
|
||||||
|
|
||||||
|
backupServer = createTestableServer(backupConfig);
|
||||||
|
|
||||||
|
liveConfig =
|
||||||
|
super.createDefaultConfig(false)
|
||||||
|
.clearAcceptorConfigurations()
|
||||||
|
.addAcceptorConfiguration(getAcceptorTransportConfiguration(true))
|
||||||
|
.setHAPolicyConfiguration(new SharedStoreMasterPolicyConfiguration().setFailbackDelay(1000)
|
||||||
|
.setFailoverOnServerShutdown(true))
|
||||||
|
.addClusterConfiguration(basicClusterConnectionConfig(liveConnector.getName()))
|
||||||
|
.addConnectorConfiguration(liveConnector.getName(), liveConnector);
|
||||||
|
|
||||||
|
liveServer = createTestableServer(liveConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected TransportConfiguration getAcceptorTransportConfiguration(final boolean live)
|
||||||
|
{
|
||||||
|
return TransportConfigurationUtils.getInVMAcceptor(live);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected TransportConfiguration getConnectorTransportConfiguration(final boolean live)
|
||||||
|
{
|
||||||
|
return TransportConfigurationUtils.getInVMConnector(live);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue