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()));
}
}