Skip to content

Commit

Permalink
Merge branch 'master' of github.com:voldemort/voldemort into autoboot…
Browse files Browse the repository at this point in the history
…strapper
  • Loading branch information
Chinmay Soman committed Sep 21, 2012
2 parents 6889d34 + c26373f commit 82072ac
Show file tree
Hide file tree
Showing 6 changed files with 59 additions and 89 deletions.
Expand Up @@ -16,7 +16,6 @@

package voldemort.store.routed.action;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
Expand Down Expand Up @@ -138,19 +137,18 @@ public void requestComplete(Object result, long requestTime) {
successCount.increment();

List<Versioned<byte[]>> retrieved = values.get(key);
if(retrieved == null) {
retrieved = new ArrayList<Versioned<byte[]>>();
}
/*
* retrieved can be null if there are no values for the key
* provided
*/
List<Versioned<byte[]>> existing = pipelineData.getResult().get(key);
if(retrieved != null) {
List<Versioned<byte[]>> existing = pipelineData.getResult().get(key);

if(existing == null)
pipelineData.getResult().put(key, Lists.newArrayList(retrieved));
else
existing.addAll(retrieved);
if(existing == null)
pipelineData.getResult().put(key, Lists.newArrayList(retrieved));
else
existing.addAll(retrieved);
}

HashSet<Integer> zoneResponses = null;
if(pipelineData.getKeyToZoneResponse().containsKey(key)) {
Expand Down
Expand Up @@ -121,10 +121,12 @@ public void execute(Pipeline pipeline) {
else
values = store.get(key, transforms.get(key));

if(result.get(key) == null)
result.put(key, Lists.newArrayList(values));
else
result.get(key).addAll(values);
if(values.size() != 0) {
if(result.get(key) == null)
result.put(key, Lists.newArrayList(values));
else
result.get(key).addAll(values);
}

Map<ByteArray, List<Versioned<byte[]>>> map = new HashMap<ByteArray, List<Versioned<byte[]>>>();
map.put(key, values);
Expand Down
4 changes: 2 additions & 2 deletions test/unit/voldemort/server/EndToEndTest.java
@@ -1,8 +1,8 @@
package voldemort.server;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import java.io.IOException;
import java.util.ArrayList;
Expand Down Expand Up @@ -120,7 +120,7 @@ public void testSanity() {

assertEquals("getAll works as expected", "Moscow", capitals.get("Russia").getValue());
assertEquals("getAll works as expected", "Kiev", capitals.get("Ukraine").getValue());
assertTrue("getAll works as expected", capitals.get("Japan") == null);
assertFalse("getAll works as expected", capitals.containsKey("Japan"));

storeClient.delete("Ukraine");
assertNull("delete works as expected", storeClient.get("Ukraine"));
Expand Down
16 changes: 1 addition & 15 deletions test/unit/voldemort/store/AbstractStoreTest.java
Expand Up @@ -312,21 +312,7 @@ public void testGetAll() throws Exception {
public void testGetAllWithAbsentKeys() throws Exception {
Store<K, V, T> store = getStore();
Map<K, List<Versioned<V>>> result = store.getAll(getKeys(3), null);
boolean resultZero = (result.size() == 0);
boolean resultEmpty = true;
if(!resultZero) {
if(result.get(result.keySet().toArray()[0]).size() != 0) {
resultEmpty = false;
}
if(result.get(result.keySet().toArray()[1]).size() != 0) {
resultEmpty = false;
}
if(result.get(result.keySet().toArray()[2]).size() != 0) {
resultEmpty = false;
}
}
assertTrue(resultZero || resultEmpty);

assertEquals(0, result.size());
}

@Test
Expand Down
37 changes: 11 additions & 26 deletions test/unit/voldemort/store/routed/GetallNodeReachTest.java
Expand Up @@ -2,7 +2,6 @@

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static voldemort.VoldemortTestConstants.getEightNodeClusterWithZones;
import static voldemort.VoldemortTestConstants.getFourNodeClusterWithZones;

Expand Down Expand Up @@ -96,16 +95,15 @@ public void testGetallTouchOneZone() throws Exception {
assertEquals(2, store.getAll(keys011, null)
.get(TestUtils.toByteArray("k011_zone0_only"))
.size());
assertEquals(0, store.getAll(keys100, null)
.get(TestUtils.toByteArray("k100_zone1_only"))
.size());
assertFalse(store.getAll(keys100, null)
.containsKey(TestUtils.toByteArray("k100_zone1_only")));
/* test multiple keys getall */
List<ByteArray> keys = new ArrayList<ByteArray>();
keys.add(TestUtils.toByteArray("k011_zone0_only"));
keys.add(TestUtils.toByteArray("k100_zone1_only"));
Map<ByteArray, List<Versioned<byte[]>>> result = store.getAll(keys, null);
assertEquals(2, result.get(TestUtils.toByteArray("k011_zone0_only")).size());
assertEquals(0, result.get(TestUtils.toByteArray("k100_zone1_only")).size());
assertFalse(result.containsKey(TestUtils.toByteArray("k100_zone1_only")));
}

@Test
Expand Down Expand Up @@ -161,13 +159,9 @@ public void testGetall_211() throws Exception {
keys.add(TestUtils.toByteArray("k111"));
Map<ByteArray, List<Versioned<byte[]>>> result = store.getAll(keys, null);
assertFalse(result.containsKey(TestUtils.toByteArray("not_included")));
assertEquals(0, result.get(TestUtils.toByteArray("k000")).size());
assertEquals(1, result.get(TestUtils.toByteArray("k001")).size());
assertEquals(0, result.get(TestUtils.toByteArray("k010")).size());
assertFalse(result.containsKey(TestUtils.toByteArray("k000")));
assertEquals(1, result.get(TestUtils.toByteArray("k011")).size());
assertEquals(0, result.get(TestUtils.toByteArray("k100")).size());
assertEquals(1, result.get(TestUtils.toByteArray("k101")).size());
assertEquals(0, result.get(TestUtils.toByteArray("k110")).size());
assertFalse(result.containsKey(TestUtils.toByteArray("k100")));
assertEquals(1, result.get(TestUtils.toByteArray("k111")).size());
}

Expand Down Expand Up @@ -227,21 +221,12 @@ public void testGetall_211_zoneCountRead_1() throws Exception {
Map<ByteArray, List<Versioned<byte[]>>> result = store.getAll(keys, null);
assertFalse(result.containsKey(TestUtils.toByteArray("not_included")));
/* client will first try all the nodes in local zone */
assertEquals(0, result.get(TestUtils.toByteArray("k000")).size());
assertEquals(1, result.get(TestUtils.toByteArray("k001")).size());
// don't know which one of node 0 or 1 comes second on preferece list
// for key
// k*10 or k*01
// therefore it can be 1 or 0 beside existence on node 2
int size = -1;
size = result.get(TestUtils.toByteArray("k010")).size();
assertTrue(size == 1 || size == 0);
assertFalse(result.containsKey(TestUtils.toByteArray("k000")));
assertEquals(1, result.get(TestUtils.toByteArray("k011")).size());
assertFalse(result.containsKey(TestUtils.toByteArray("not_included")));
assertFalse(result.containsKey(TestUtils.toByteArray("k000")));
assertEquals(1, result.get(TestUtils.toByteArray("k011")).size());
assertEquals(1, result.get(TestUtils.toByteArray("k100")).size());
size = result.get(TestUtils.toByteArray("k101")).size();
assertTrue(size == 1 || size == 2);
size = result.get(TestUtils.toByteArray("k110")).size();
assertTrue(size == 1 || size == 2);
assertEquals(2, result.get(TestUtils.toByteArray("k111")).size());
}

Expand Down Expand Up @@ -297,9 +282,9 @@ public void testGetall_322() throws Exception {
keys.add(TestUtils.toByteArray("k1111_1111"));
Map<ByteArray, List<Versioned<byte[]>>> result = store.getAll(keys, null);
assertFalse(result.containsKey(TestUtils.toByteArray("not_included")));
assertEquals(0, result.get(TestUtils.toByteArray("k0000_0000")).size());
assertFalse(result.containsKey(TestUtils.toByteArray("k0000_0000")));
assertEquals(2, result.get(TestUtils.toByteArray("k0000_1111")).size());
assertEquals(0, result.get(TestUtils.toByteArray("k1111_0000")).size());
assertFalse(result.containsKey(TestUtils.toByteArray("k1111_0000")));
assertEquals(2, result.get(TestUtils.toByteArray("k1111_1111")).size());
}
}

0 comments on commit 82072ac

Please sign in to comment.