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

Reply via email to