Skip to content

Commit

Permalink
unit test fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
bbansal committed Nov 18, 2009
1 parent 10295da commit ce3d234
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 2 deletions.
2 changes: 1 addition & 1 deletion build.xml
Expand Up @@ -282,7 +282,7 @@
<target name="junit" depends="build, buildtest" description="Run junit tests.">
<replace-dir dir="${testreport.dir}" />
<replace-dir dir="${testhtml.dir}" />
<junit printsummary="yes" showoutput="true" maxmemory="128M">
<junit printsummary="yes" showoutput="true" maxmemory="1024m">
<classpath refid="test-classpath" />
<formatter type="xml" />
<batchtest fork="yes" todir="${testreport.dir}">
Expand Down
6 changes: 5 additions & 1 deletion test/unit/voldemort/client/AdminServiceBasicTest.java
Expand Up @@ -317,7 +317,11 @@ public void testFetchAndUpdate() throws IOException {

// do fetch And update call server1 <-- server0
AdminClient client = getAdminClient();
int id = client.fetchAndUpdateStreams(0, 1, testStoreName, Arrays.asList(0, 1), null);
int id = client.fetchAndUpdateStreams(0,
1,
testStoreName,
fetchAndUpdatePartitionsList,
null);
client.waitForCompletion(1, id, 5, TimeUnit.SECONDS);

// check values
Expand Down
88 changes: 88 additions & 0 deletions test/unit/voldemort/client/AdminServiceFailureTest.java
@@ -0,0 +1,88 @@
package voldemort.client;

import java.io.IOException;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Map.Entry;

import junit.framework.TestCase;
import voldemort.ServerTestUtils;
import voldemort.TestUtils;
import voldemort.client.protocol.admin.AdminClient;
import voldemort.cluster.Cluster;
import voldemort.server.VoldemortConfig;
import voldemort.server.VoldemortServer;
import voldemort.store.Store;
import voldemort.store.UnreachableStoreException;
import voldemort.utils.ByteArray;
import voldemort.utils.Pair;
import voldemort.versioning.Versioned;

/**
* Test to check streaming behavior under failure.
*
* @author bbansal
*
*/
public class AdminServiceFailureTest extends TestCase {

private static String testStoreName = "test-replication-memory";
private static int TEST_KEYS = 10000;
private static String storesXmlfile = "test/common/voldemort/config/stores.xml";

private AdminClient adminClient;
private VoldemortServer server;
private Cluster cluster;

@Override
public void setUp() throws IOException {
cluster = ServerTestUtils.getLocalCluster(2);
VoldemortConfig config = ServerTestUtils.createServerConfig(0,
TestUtils.createTempDir()
.getAbsolutePath(),
null,
storesXmlfile);
server = new VoldemortServer(config, cluster);
server.start();

adminClient = ServerTestUtils.getAdminClient(cluster);
}

@Override
public void tearDown() throws IOException {
try {
adminClient.stop();
ServerTestUtils.stopVoldemortServer(server);
} catch(Exception e) {
// ignore
}
}

protected AdminClient getAdminClient() {
return adminClient;
}

protected Store<ByteArray, byte[]> getStore(String storeName) {
return server.getStoreRepository().getStorageEngine(storeName);
}

public void testWithStartFailure() {
// put some entries in store
for(Entry<ByteArray, byte[]> entry: ServerTestUtils.createRandomKeyValuePairs(TEST_KEYS)
.entrySet()) {
getStore(testStoreName).put(entry.getKey(), new Versioned<byte[]>(entry.getValue()));
}

server.stop();
try {
// make fetch stream call.
Iterator<Pair<ByteArray, Versioned<byte[]>>> entryIterator = getAdminClient().fetchPartitionEntries(0,
testStoreName,
Arrays.asList(new Integer[] { 0 }),
null);
fail();
} catch(UnreachableStoreException e) {
// ignore
}
}
}

0 comments on commit ce3d234

Please sign in to comment.