Author: chetanm
Date: Sun Mar 30 05:45:01 2014
New Revision: 1583107

URL: http://svn.apache.org/r1583107
Log:
OAK-1643 - Implement BlobReferenceIterator optimized for Mongo

Use a while loop to handle case where node does not have binary. In such case 
loadBatch should try with next node document

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobReferenceIterator.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobReferenceIterator.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobReferenceIterator.java?rev=1583107&r1=1583106&r2=1583107&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobReferenceIterator.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/mongo/MongoBlobReferenceIterator.java
 Sun Mar 30 05:45:01 2014
@@ -61,7 +61,9 @@ public class MongoBlobReferenceIterator 
 
     private void loadBatch() {
         initializeCursor();
-        if (cursor.hasNext()) {
+        //Some node which have the '_bin' flag set might not have any binaries 
in it
+        //so move forward if blobs is still empty and cursor has more elements
+        while (cursor.hasNext() && blobs.isEmpty()) {
             
collectBinaries(documentStore.convertFromDBObject(Collection.NODES, 
cursor.next()));
         }
     }


Reply via email to