You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by md...@apache.org on 2017/06/14 13:15:22 UTC

svn commit: r1798676 - /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java

Author: mduerig
Date: Wed Jun 14 13:15:22 2017
New Revision: 1798676

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

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java?rev=1798676&r1=1798675&r2=1798676&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/MapRecord.java Wed Jun 14 13:15:22 2017
@@ -305,8 +305,14 @@ public 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>() {
+                    @Nonnull
+                    @Override
+                    public Iterator<String> iterator() {
+                        return bucket.getKeys().iterator();
+                    }
+                });
             }
             return concat(keys);
         }