You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datasketches.apache.org by le...@apache.org on 2021/08/26 02:14:15 UTC

[datasketches-java] branch Memory2 updated: Update MemoryRequestServer API and tests.

This is an automated email from the ASF dual-hosted git repository.

leerho pushed a commit to branch Memory2
in repository https://gitbox.apache.org/repos/asf/datasketches-java.git


The following commit(s) were added to refs/heads/Memory2 by this push:
     new 2c336d1  Update MemoryRequestServer API and tests.
2c336d1 is described below

commit 2c336d17837628d164e1e982c97ebf711c5b1ae5
Author: Lee Rhodes <le...@users.noreply.github.com>
AuthorDate: Wed Aug 25 19:12:29 2021 -0700

    Update MemoryRequestServer API and tests.
---
 pom.xml                                                   |  4 ++--
 .../org/apache/datasketches/hll/DirectAuxHashMap.java     |  2 +-
 .../datasketches/quantiles/DirectUpdateDoublesSketch.java |  2 +-
 .../datasketches/theta/DirectQuickSelectSketch.java       |  2 +-
 .../org/apache/datasketches/hll/DirectAuxHashMapTest.java |  5 ++++-
 .../quantiles/DirectQuantilesMemoryRequestTest.java       | 15 +++++++++++----
 .../apache/datasketches/quantiles/DoublesSketchTest.java  |  6 +++++-
 7 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/pom.xml b/pom.xml
index d46779f..1c0a8a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,11 +84,11 @@ under the License.
   <properties>
     <!-- UNIQUE FOR THIS JAVA COMPONENT -->
     <datasketches-memory.version>2.0.0-SNAPSHOT</datasketches-memory.version>
-    <slf4j-simple.version>1.7.30</slf4j-simple.version>
+    <slf4j-simple.version>1.7.32</slf4j-simple.version>
     <!-- END:UNIQUE FOR THIS JAVA COMPONENT -->
 
     <!-- Test -->
-    <testng.version>7.1.0</testng.version>
+    <testng.version>7.4.0</testng.version>
 
     <!-- System-wide properties -->
     <maven.version>3.5.0</maven.version>
diff --git a/src/main/java/org/apache/datasketches/hll/DirectAuxHashMap.java b/src/main/java/org/apache/datasketches/hll/DirectAuxHashMap.java
index 0afa612..70a578b 100644
--- a/src/main/java/org/apache/datasketches/hll/DirectAuxHashMap.java
+++ b/src/main/java/org/apache/datasketches/hll/DirectAuxHashMap.java
@@ -192,7 +192,7 @@ class DirectAuxHashMap implements AuxHashMap {
 
     if (requestBytes > oldCapBytes) {
       final MemoryRequestServer svr = host.wmem.getMemoryRequestServer();
-      final WritableMemory newWmem = svr.request(requestBytes);
+      final WritableMemory newWmem = svr.request(host.wmem, requestBytes);
       host.wmem.copyTo(0, newWmem, 0, host.auxStart);
       newWmem.clear(host.auxStart, newAuxBytes); //clear space for new aux data
       svr.requestClose(host.wmem, newWmem); //old host.wmem is now invalid
diff --git a/src/main/java/org/apache/datasketches/quantiles/DirectUpdateDoublesSketch.java b/src/main/java/org/apache/datasketches/quantiles/DirectUpdateDoublesSketch.java
index 67b102b..6ee0319 100644
--- a/src/main/java/org/apache/datasketches/quantiles/DirectUpdateDoublesSketch.java
+++ b/src/main/java/org/apache/datasketches/quantiles/DirectUpdateDoublesSketch.java
@@ -251,7 +251,7 @@ final class DirectUpdateDoublesSketch extends DirectUpdateDoublesSketchR {
 
     memReqSvr = (memReqSvr == null) ? mem_.getMemoryRequestServer() : memReqSvr;
 
-    final WritableMemory newMem = memReqSvr.request(needBytes);
+    final WritableMemory newMem = memReqSvr.request(mem_, needBytes);
 
     mem_.copyTo(0, newMem, 0, memBytes);
 
diff --git a/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java b/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java
index 9e45db3..490f98f 100644
--- a/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java
+++ b/src/main/java/org/apache/datasketches/theta/DirectQuickSelectSketch.java
@@ -296,7 +296,7 @@ class DirectQuickSelectSketch extends DirectQuickSelectSketchR {
 
           memReqSvr_ = (memReqSvr_ == null) ? wmem_.getMemoryRequestServer() : memReqSvr_;
 
-          final WritableMemory newDstMem = memReqSvr_.request(reqBytes);
+          final WritableMemory newDstMem = memReqSvr_.request(wmem_,reqBytes);
 
           moveAndResize(wmem_, preambleLongs, lgArrLongs, newDstMem, tgtLgArrLongs, thetaLong);
 
diff --git a/src/test/java/org/apache/datasketches/hll/DirectAuxHashMapTest.java b/src/test/java/org/apache/datasketches/hll/DirectAuxHashMapTest.java
index 55bbd92..be7b4f4 100644
--- a/src/test/java/org/apache/datasketches/hll/DirectAuxHashMapTest.java
+++ b/src/test/java/org/apache/datasketches/hll/DirectAuxHashMapTest.java
@@ -26,8 +26,10 @@ import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 import static org.testng.Assert.fail;
 
+import java.nio.ByteOrder;
 import java.util.HashMap;
 
+import org.apache.datasketches.memory.DefaultMemoryRequestServer;
 import org.testng.annotations.Test;
 
 import org.apache.datasketches.memory.Memory;
@@ -49,7 +51,8 @@ public class DirectAuxHashMapTest {
     int n = 8; //put lgConfigK == 4 into HLL mode
     int bytes = HllSketch.getMaxUpdatableSerializationBytes(lgConfigK, tgtHllType);
     HllSketch hllSketch;
-    try (WritableHandle handle = WritableMemory.allocateDirect(bytes)) {
+    try (WritableHandle handle = WritableMemory.allocateDirect(bytes,
+            ByteOrder.nativeOrder(), new DefaultMemoryRequestServer())) {
       WritableMemory wmem = handle.getWritable();
       hllSketch = new HllSketch(lgConfigK, tgtHllType, wmem);
       for (int i = 0; i < n; i++) {
diff --git a/src/test/java/org/apache/datasketches/quantiles/DirectQuantilesMemoryRequestTest.java b/src/test/java/org/apache/datasketches/quantiles/DirectQuantilesMemoryRequestTest.java
index 5285892..232365c 100644
--- a/src/test/java/org/apache/datasketches/quantiles/DirectQuantilesMemoryRequestTest.java
+++ b/src/test/java/org/apache/datasketches/quantiles/DirectQuantilesMemoryRequestTest.java
@@ -24,6 +24,9 @@ import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertTrue;
 
+import java.nio.ByteOrder;
+
+import org.apache.datasketches.memory.DefaultMemoryRequestServer;
 import org.testng.annotations.Test;
 
 import org.apache.datasketches.memory.Memory;
@@ -46,7 +49,8 @@ public class DirectQuantilesMemoryRequestTest {
 
     //########## Owning Implementation
     // This part would actually be part of the Memory owning implemention so it is faked here
-    try (WritableHandle wdh = WritableMemory.allocateDirect(initBytes)) {
+    try (WritableHandle wdh = WritableMemory.allocateDirect(initBytes,
+            ByteOrder.nativeOrder(), new DefaultMemoryRequestServer())) {
       final WritableMemory wmem = wdh.getWritable();
       println("Initial mem size: " + wmem.getCapacity());
 
@@ -81,7 +85,8 @@ public class DirectQuantilesMemoryRequestTest {
     final int u = 32; // don't need the BB to fill here
     final int initBytes = (4 + (u / 2)) << 3; // not enough to hold everything
 
-    try (WritableHandle memHandler = WritableMemory.allocateDirect(initBytes)) {
+    try (WritableHandle memHandler = WritableMemory.allocateDirect(initBytes,
+            ByteOrder.nativeOrder(), new DefaultMemoryRequestServer())) {
       //final MemoryManager memMgr = new MemoryManager();
       //final WritableMemory mem1 = memMgr.request(initBytes);
       final WritableMemory mem1 = memHandler.getWritable();
@@ -104,7 +109,8 @@ public class DirectQuantilesMemoryRequestTest {
     final int u = (2 * k) - 1; //just to fill the BB
     final int initBytes = ((2 * k) + 4) << 3; //just room for BB
 
-    try (WritableHandle memHandler = WritableMemory.allocateDirect(initBytes)) {
+    try (WritableHandle memHandler = WritableMemory.allocateDirect(initBytes,
+            ByteOrder.nativeOrder(), new DefaultMemoryRequestServer())) {
       //final MemoryManager memMgr = new MemoryManager();
       //final WritableMemory mem1 = memMgr.request(initBytes);
       final WritableMemory mem1 = memHandler.getWritable();
@@ -133,7 +139,8 @@ public class DirectQuantilesMemoryRequestTest {
     final UpdateDoublesSketch usk1 = DoublesSketch.builder().setK(k).build();
     final Memory origSketchMem = Memory.wrap(usk1.toByteArray());
 
-    try (WritableHandle memHandle = WritableMemory.allocateDirect(initBytes)) {
+    try (WritableHandle memHandle = WritableMemory.allocateDirect(initBytes,
+            ByteOrder.nativeOrder(), new DefaultMemoryRequestServer())) {
       WritableMemory mem = memHandle.getWritable();
       origSketchMem.copyTo(0, mem, 0, initBytes);
       UpdateDoublesSketch usk2 = DirectUpdateDoublesSketch.wrapInstance(mem);
diff --git a/src/test/java/org/apache/datasketches/quantiles/DoublesSketchTest.java b/src/test/java/org/apache/datasketches/quantiles/DoublesSketchTest.java
index cc5e30b..b2f9bf9 100644
--- a/src/test/java/org/apache/datasketches/quantiles/DoublesSketchTest.java
+++ b/src/test/java/org/apache/datasketches/quantiles/DoublesSketchTest.java
@@ -24,6 +24,9 @@ import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNull;
 import static org.testng.Assert.assertTrue;
 
+import java.nio.ByteOrder;
+
+import org.apache.datasketches.memory.DefaultMemoryRequestServer;
 import org.apache.datasketches.memory.WritableHandle;
 import org.apache.datasketches.memory.WritableMemory;
 import org.testng.Assert;
@@ -133,7 +136,8 @@ public class DoublesSketchTest {
 
   @Test
   public void directSketchShouldMoveOntoHeapEventually() {
-    try (WritableHandle wdh = WritableMemory.allocateDirect(1000)) {
+    try (WritableHandle wdh = WritableMemory.allocateDirect(1000,
+            ByteOrder.nativeOrder(), new DefaultMemoryRequestServer())) {
       WritableMemory mem = wdh.getWritable();
       UpdateDoublesSketch sketch = DoublesSketch.builder().build(mem);
       Assert.assertTrue(sketch.isSameResource(mem));

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datasketches.apache.org
For additional commands, e-mail: commits-help@datasketches.apache.org