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