You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/01/21 04:20:37 UTC
[1/2] git commit: Fixes NPE issue in the union iterator
Updated Branches:
refs/heads/USERGRID-2862-limitfix [deleted] 5d75a2992
refs/heads/master b22115aec -> 832017bf7
refs/pull/32/head [created] 5d75a2992
Fixes NPE issue in the union iterator
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/5d75a299
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/5d75a299
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/5d75a299
Branch: refs/heads/master
Commit: 5d75a2992475ab907b15e4a2f86ab50ae89a1e40
Parents: 9dd14f1
Author: Todd Nine <tn...@apigee.com>
Authored: Mon Jan 20 18:18:15 2014 -0800
Committer: Todd Nine <tn...@apigee.com>
Committed: Mon Jan 20 18:18:15 2014 -0800
----------------------------------------------------------------------
.../query/ir/result/UnionIterator.java | 9 ++-
.../query/ir/result/UnionIteratorTest.java | 70 ++++++++++++++++++++
2 files changed, 78 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5d75a299/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
index efd4e3d..00e90b8 100644
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
+++ b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
@@ -58,7 +58,14 @@ public class UnionIterator extends MultiIterator {
super( pageSize );
this.id = id;
- list = new SortedColumnList( pageSize, UUID_SERIALIZER.fromByteBuffer( minUuid ) );
+
+ UUID parseMinUuid = null;
+
+ if(minUuid != null) {
+ parseMinUuid = UUID_SERIALIZER.fromByteBuffer( minUuid );
+ }
+
+ list = new SortedColumnList( pageSize, parseMinUuid );
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/5d75a299/stack/core/src/test/java/org/usergrid/persistence/query/ir/result/UnionIteratorTest.java
----------------------------------------------------------------------
diff --git a/stack/core/src/test/java/org/usergrid/persistence/query/ir/result/UnionIteratorTest.java b/stack/core/src/test/java/org/usergrid/persistence/query/ir/result/UnionIteratorTest.java
index 683f00d..8fd9ea8 100644
--- a/stack/core/src/test/java/org/usergrid/persistence/query/ir/result/UnionIteratorTest.java
+++ b/stack/core/src/test/java/org/usergrid/persistence/query/ir/result/UnionIteratorTest.java
@@ -16,6 +16,7 @@
package org.usergrid.persistence.query.ir.result;
+import java.nio.ByteBuffer;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID;
@@ -23,6 +24,8 @@ import java.util.UUID;
import org.junit.Test;
import org.usergrid.utils.UUIDUtils;
+import me.prettyprint.cassandra.serializers.UUIDSerializer;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
@@ -295,6 +298,73 @@ public class UnionIteratorTest {
}
+ @Test
+ public void nullCursorBytes() {
+
+ UUID id1 = UUIDUtils.minTimeUUID( 1 );
+ UUID id2 = UUIDUtils.minTimeUUID( 2 );
+ UUID id3 = UUIDUtils.minTimeUUID( 3 );
+ UUID id4 = UUIDUtils.minTimeUUID( 4 );
+ UUID id5 = UUIDUtils.minTimeUUID( 5 );
+
+
+ InOrderIterator second = new InOrderIterator( 100 );
+ second.add( id1 );
+ second.add( id2 );
+ second.add( id3 );
+ second.add( id4 );
+ second.add( id5 );
+
+ UnionIterator union = new UnionIterator( 100, 1, null );
+
+ union.addIterator( second );
+
+ Set<ScanColumn> ids = union.next();
+
+ // now make sure it's right, only 1, 3 and 8 intersect
+ assertTrue( ids.contains( uuidColumn( id1 ) ) );
+ assertTrue( ids.contains( uuidColumn( id2 ) ) );
+ assertTrue( ids.contains( uuidColumn( id3 ) ) );
+ assertTrue( ids.contains( uuidColumn( id4 ) ) );
+ assertTrue( ids.contains( uuidColumn( id5 ) ) );
+ }
+
+
+ @Test
+ public void validCursorBytes() {
+
+
+ ByteBuffer cursor = UUIDSerializer.get().toByteBuffer( UUIDUtils.minTimeUUID( 4 ) );
+
+ UUID id1 = UUIDUtils.minTimeUUID( 1 );
+ UUID id2 = UUIDUtils.minTimeUUID( 2 );
+ UUID id3 = UUIDUtils.minTimeUUID( 3 );
+ UUID id4 = UUIDUtils.minTimeUUID( 4 );
+ UUID id5 = UUIDUtils.minTimeUUID( 5 );
+
+
+ InOrderIterator second = new InOrderIterator( 100 );
+ second.add( id1 );
+ second.add( id2 );
+ second.add( id3 );
+ second.add( id4 );
+ second.add( id5 );
+
+ UnionIterator union = new UnionIterator( 100, 1, cursor );
+
+ union.addIterator( second );
+
+ Set<ScanColumn> ids = union.next();
+
+ // now make sure it's right, only 1, 3 and 8 intersect
+ assertFalse( ids.contains( uuidColumn( id1 ) ) );
+ assertFalse( ids.contains( uuidColumn( id2 ) ) );
+ assertFalse( ids.contains( uuidColumn( id3 ) ) );
+ assertFalse( ids.contains( uuidColumn( id4 ) ) );
+ assertTrue( ids.contains( uuidColumn( id5 ) ) );
+ }
+
+
private void reverse( UUID[] array ) {
UUID temp = null;
[2/2] git commit: Merge pull request #32 from
usergrid/USERGRID-2862-limitfix
Posted by sn...@apache.org.
Merge pull request #32 from usergrid/USERGRID-2862-limitfix
Fixes NPE issue in the union iterator
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/832017bf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/832017bf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/832017bf
Branch: refs/heads/master
Commit: 832017bf7b1c2e8b809b8254f2fd70eebab58d0f
Parents: b22115a 5d75a29
Author: Rod Simpson <ro...@rodsimpson.com>
Authored: Mon Jan 20 18:21:28 2014 -0800
Committer: Rod Simpson <ro...@rodsimpson.com>
Committed: Mon Jan 20 18:21:28 2014 -0800
----------------------------------------------------------------------
.../query/ir/result/UnionIterator.java | 9 ++-
.../query/ir/result/UnionIteratorTest.java | 70 ++++++++++++++++++++
2 files changed, 78 insertions(+), 1 deletion(-)
----------------------------------------------------------------------