Update MemoryRequestServer API and tests.
diff --git a/pom.xml b/pom.xml
index d46779f..1c0a8a5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,11 +84,11 @@
<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 @@
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 @@
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 @@
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.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 @@
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.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 @@
//########## 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 @@
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 @@
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 @@
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.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 @@
@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));