You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2016/08/29 17:11:53 UTC

usergrid git commit: Make sure we skip over deleted shards if there are multiple together.

Repository: usergrid
Updated Branches:
  refs/heads/hotfix-20160819 44404248c -> 1e6fb1e10


Make sure we skip over deleted shards if there are multiple together.


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/1e6fb1e1
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/1e6fb1e1
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/1e6fb1e1

Branch: refs/heads/hotfix-20160819
Commit: 1e6fb1e10d66c24d2c4b0d0f61a3312077545c97
Parents: 4440424
Author: Michael Russo <mr...@apigee.com>
Authored: Mon Aug 29 10:11:19 2016 -0700
Committer: Michael Russo <mr...@apigee.com>
Committed: Mon Aug 29 10:11:19 2016 -0700

----------------------------------------------------------------------
 .../core/astyanax/MultiRowShardColumnIterator.java          | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/1e6fb1e1/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowShardColumnIterator.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowShardColumnIterator.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowShardColumnIterator.java
index 04266e1..2446968 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowShardColumnIterator.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/MultiRowShardColumnIterator.java
@@ -128,17 +128,20 @@ public class MultiRowShardColumnIterator<R, C, T> implements Iterator<T> {
             currentShard = currentShardIterator.next();
 
             // handle marked deleted shards
-            if( currentShard.isDeleted() && currentShardIterator.hasNext()){
+            while ( currentShard.isDeleted() && currentShardIterator.hasNext()){
 
                 if(logger.isTraceEnabled()) {
                     logger.trace("Shard is marked deleted, advancing to next - {}", currentShard);
                 }
 
                 currentShard = currentShardIterator.next();
-            }else if ( currentShard.isDeleted() && !currentShardIterator.hasNext()){
+            }
+
+            // if the last shard is deleted, return false, there is no next to seek
+            if ( currentShard.isDeleted() && !currentShardIterator.hasNext()){
 
                 if(logger.isTraceEnabled()) {
-                    logger.trace("Shard is marked deleted, and there is no more - {}", currentShard);
+                    logger.trace("Shard is marked deleted, and there are no more shards - {}", currentShard);
                 }
 
                 return false;