Repository: ignite Updated Branches: refs/heads/ignite-3228-1 [created] 7155ffbde
WIP. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d94acbc1 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d94acbc1 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d94acbc1 Branch: refs/heads/ignite-3228-1 Commit: d94acbc10b040a2a2d0dbb0881020ff4bf8315d5 Parents: 52a2637 Author: thatcoach <[email protected]> Authored: Wed Jun 1 19:46:21 2016 +0300 Committer: thatcoach <[email protected]> Committed: Wed Jun 1 19:46:21 2016 +0300 ---------------------------------------------------------------------- .../shuffle/collections/HadoopMultimapBase.java | 35 ++++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/d94acbc1/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/collections/HadoopMultimapBase.java ---------------------------------------------------------------------- diff --git a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/collections/HadoopMultimapBase.java b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/collections/HadoopMultimapBase.java index e6995ca..c8fc539 100644 --- a/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/collections/HadoopMultimapBase.java +++ b/modules/hadoop/src/main/java/org/apache/ignite/internal/processors/hadoop/shuffle/collections/HadoopMultimapBase.java @@ -17,11 +17,6 @@ package org.apache.ignite.internal.processors.hadoop.shuffle.collections; -import java.io.DataInput; -import java.util.Collection; -import java.util.Iterator; -import java.util.NoSuchElementException; -import java.util.concurrent.ConcurrentLinkedQueue; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteException; import org.apache.ignite.internal.processors.hadoop.HadoopJobInfo; @@ -34,6 +29,12 @@ import org.apache.ignite.internal.util.GridLongList; import org.apache.ignite.internal.util.offheap.unsafe.GridUnsafeMemory; import org.jetbrains.annotations.Nullable; +import java.io.DataInput; +import java.util.Collection; +import java.util.Iterator; +import java.util.NoSuchElementException; +import java.util.concurrent.ConcurrentLinkedQueue; + import static org.apache.ignite.internal.processors.hadoop.HadoopJobProperty.SHUFFLE_OFFHEAP_PAGE_SIZE; import static org.apache.ignite.internal.processors.hadoop.HadoopJobProperty.get; @@ -222,7 +223,7 @@ public abstract class HadoopMultimapBase implements HadoopMultimap { private long allocateNextPage(long requestedSize) { int writtenSize = writtenSize(); - long newPageSize = Math.max(writtenSize + requestedSize, pageSize); + long newPageSize = ((writtenSize + requestedSize) % pageSize + 1) * pageSize; long newPagePtr = mem.allocate(newPageSize); pages.add(newPageSize); @@ -372,4 +373,26 @@ public abstract class HadoopMultimapBase implements HadoopMultimap { throw new UnsupportedOperationException(); } } + + /** + * Page. + */ + private static class Page { + /** Pointer. */ + private final long ptr; + + /** Size. */ + private final long size; + + /** + * Constructor. + * + * @param ptr Pointer. + * @param size Size. + */ + public Page(long ptr, long size) { + this.ptr = ptr; + this.size = size; + } + } } \ No newline at end of file
