Author: chetanm
Date: Fri Sep  1 09:43:15 2017
New Revision: 1806918

URL: http://svn.apache.org/viewvc?rev=1806918&view=rev
Log:
OAK-6339 - MapRecord#getKeys should should initialize child iterables lazily

Backport the fix to oak-segment module only 

Modified:
    
jackrabbit/oak/branches/1.6/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java

Modified: 
jackrabbit/oak/branches/1.6/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.6/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java?rev=1806918&r1=1806917&r2=1806918&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.6/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java
 (original)
+++ 
jackrabbit/oak/branches/1.6/oak-segment/src/main/java/org/apache/jackrabbit/oak/plugins/segment/MapRecord.java
 Fri Sep  1 09:43:15 2017
@@ -303,8 +303,13 @@ class MapRecord extends Record {
             List<MapRecord> buckets = getBucketList(segment);
             List<Iterable<String>> keys =
                     newArrayListWithCapacity(buckets.size());
-            for (MapRecord bucket : buckets) {
-                keys.add(bucket.getKeys());
+            for (final MapRecord bucket : buckets) {
+                keys.add(new Iterable<String>() {
+                    @Override
+                    public Iterator<String> iterator() {
+                        return bucket.getKeys().iterator();
+                    }
+                });
             }
             return concat(keys);
         }


Reply via email to