You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by al...@apache.org on 2021/10/05 20:16:56 UTC

[druid] branch datasketches_3_0_0 created (now a577dea)

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

alsay pushed a change to branch datasketches_3_0_0
in repository https://gitbox.apache.org/repos/asf/druid.git.


      at a577dea  latest datasketches-java and datasketches-memory

This branch includes the following new commits:

     new a577dea  latest datasketches-java and datasketches-memory

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


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


[druid] 01/01: latest datasketches-java and datasketches-memory

Posted by al...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

alsay pushed a commit to branch datasketches_3_0_0
in repository https://gitbox.apache.org/repos/asf/druid.git

commit a577deabf23571755010eb0a67f095ca73e910f1
Author: AlexanderSaydakov <Al...@users.noreply.github.com>
AuthorDate: Tue Oct 5 13:16:14 2021 -0700

    latest datasketches-java and datasketches-memory
---
 .../test/java/org/apache/druid/benchmark/MemoryBenchmark.java |  6 +++---
 .../hll/HllSketchBuildBufferAggregatorHelper.java             |  4 ++--
 .../datasketches/hll/HllSketchMergeBufferAggregator.java      |  2 +-
 .../hll/HllSketchMergeBufferAggregatorHelper.java             |  4 ++--
 .../datasketches/hll/HllSketchMergeVectorAggregator.java      |  4 ++--
 .../quantiles/DoublesSketchBuildBufferAggregatorHelper.java   |  2 +-
 .../quantiles/DoublesSketchMergeBufferAggregatorHelper.java   |  2 +-
 .../datasketches/theta/SketchBufferAggregatorHelper.java      |  2 +-
 .../query/aggregation/datasketches/theta/SketchHolder.java    | 11 +++++------
 .../tuple/ArrayOfDoublesSketchAggregatorFactory.java          |  6 +++---
 .../tuple/ArrayOfDoublesSketchBuildBufferAggregator.java      |  6 +++---
 .../tuple/ArrayOfDoublesSketchMergeAggregator.java            |  2 +-
 .../tuple/ArrayOfDoublesSketchMergeBufferAggregator.java      |  8 ++++----
 .../datasketches/tuple/ArrayOfDoublesSketchOperations.java    |  4 ++--
 .../aggregation/datasketches/theta/SketchAggregationTest.java |  1 +
 pom.xml                                                       |  4 ++--
 .../druid/query/groupby/epinephelinae/BufferArrayGrouper.java |  2 +-
 .../druid/query/groupby/epinephelinae/HashVectorGrouper.java  |  2 +-
 .../epinephelinae/collection/MemoryOpenHashTableTest.java     |  2 +-
 19 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/benchmarks/src/test/java/org/apache/druid/benchmark/MemoryBenchmark.java b/benchmarks/src/test/java/org/apache/druid/benchmark/MemoryBenchmark.java
index 56fd68c..44a7d08 100644
--- a/benchmarks/src/test/java/org/apache/druid/benchmark/MemoryBenchmark.java
+++ b/benchmarks/src/test/java/org/apache/druid/benchmark/MemoryBenchmark.java
@@ -76,9 +76,9 @@ public class MemoryBenchmark
       buffer3 = ByteBuffer.allocateDirect(numBytes).order(ByteOrder.nativeOrder());
     }
 
-    memory1 = WritableMemory.wrap(buffer1, ByteOrder.nativeOrder());
-    memory2 = WritableMemory.wrap(buffer2, ByteOrder.nativeOrder());
-    memory3 = WritableMemory.wrap(buffer3, ByteOrder.nativeOrder());
+    memory1 = WritableMemory.writableWrap(buffer1, ByteOrder.nativeOrder());
+    memory2 = WritableMemory.writableWrap(buffer2, ByteOrder.nativeOrder());
+    memory3 = WritableMemory.writableWrap(buffer3, ByteOrder.nativeOrder());
 
     // Scribble in some random but consistent (same seed) garbage.
     final Random random = new Random(0);
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildBufferAggregatorHelper.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildBufferAggregatorHelper.java
index 466f1ac..8ad8dfe 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildBufferAggregatorHelper.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildBufferAggregatorHelper.java
@@ -50,7 +50,7 @@ public class HllSketchBuildBufferAggregatorHelper
     this.emptySketch = new byte[size];
 
     //noinspection ResultOfObjectAllocationIgnored (HllSketch writes to "emptySketch" as a side effect of construction)
-    new HllSketch(lgK, tgtHllType, WritableMemory.wrap(emptySketch));
+    new HllSketch(lgK, tgtHllType, WritableMemory.writableWrap(emptySketch));
   }
 
   /**
@@ -123,7 +123,7 @@ public class HllSketchBuildBufferAggregatorHelper
 
   private WritableMemory getMemory(final ByteBuffer buf)
   {
-    return memCache.computeIfAbsent(buf, b -> WritableMemory.wrap(b, ByteOrder.LITTLE_ENDIAN));
+    return memCache.computeIfAbsent(buf, b -> WritableMemory.writableWrap(b, ByteOrder.LITTLE_ENDIAN));
   }
 
   private void putSketchIntoCache(final ByteBuffer buf, final int position, final HllSketch sketch)
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregator.java
index 278a5c5..13323f1 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregator.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregator.java
@@ -64,7 +64,7 @@ public class HllSketchMergeBufferAggregator implements BufferAggregator
       return;
     }
 
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN)
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN)
                                              .writableRegion(position, helper.getSize());
 
     final Union union = Union.writableWrap(mem);
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregatorHelper.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregatorHelper.java
index d6030e8..5927a0c 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregatorHelper.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeBufferAggregatorHelper.java
@@ -48,7 +48,7 @@ public class HllSketchMergeBufferAggregatorHelper
     this.emptyUnion = new byte[size];
 
     //noinspection ResultOfObjectAllocationIgnored (Union writes to "emptyUnion" as a side effect of construction)
-    new Union(lgK, WritableMemory.wrap(emptyUnion));
+    new Union(lgK, WritableMemory.writableWrap(emptyUnion));
   }
 
   /**
@@ -79,7 +79,7 @@ public class HllSketchMergeBufferAggregatorHelper
    */
   public Object get(ByteBuffer buf, int position)
   {
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN).writableRegion(position, size);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN).writableRegion(position, size);
     final Union union = Union.writableWrap(mem);
     return union.getResult(tgtHllType);
   }
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeVectorAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeVectorAggregator.java
index d97c0b5..93e9e33 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeVectorAggregator.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchMergeVectorAggregator.java
@@ -66,7 +66,7 @@ public class HllSketchMergeVectorAggregator implements VectorAggregator
   {
     final Object[] vector = objectSupplier.get();
 
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN)
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN)
                                              .writableRegion(position, helper.getSize());
 
     final Union union = Union.writableWrap(mem);
@@ -92,7 +92,7 @@ public class HllSketchMergeVectorAggregator implements VectorAggregator
       if (o != null) {
         final int position = positions[i] + positionOffset;
 
-        final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN)
+        final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN)
                                                  .writableRegion(position, helper.getSize());
 
         final Union union = Union.writableWrap(mem);
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchBuildBufferAggregatorHelper.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchBuildBufferAggregatorHelper.java
index f5286bd..2acad90 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchBuildBufferAggregatorHelper.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchBuildBufferAggregatorHelper.java
@@ -92,7 +92,7 @@ public class DoublesSketchBuildBufferAggregatorHelper
 
   private WritableMemory getMemory(final ByteBuffer buffer)
   {
-    return memCache.computeIfAbsent(buffer, buf -> WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN));
+    return memCache.computeIfAbsent(buffer, buf -> WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN));
   }
 
   private void putSketch(final ByteBuffer buffer, final int position, final UpdateDoublesSketch sketch)
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchMergeBufferAggregatorHelper.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchMergeBufferAggregatorHelper.java
index 378e41d..d9f4bad 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchMergeBufferAggregatorHelper.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/quantiles/DoublesSketchMergeBufferAggregatorHelper.java
@@ -93,7 +93,7 @@ public class DoublesSketchMergeBufferAggregatorHelper
 
   private WritableMemory getMemory(final ByteBuffer buffer)
   {
-    return memCache.computeIfAbsent(buffer, buf -> WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN));
+    return memCache.computeIfAbsent(buffer, buf -> WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN));
   }
 
   private void putUnion(final ByteBuffer buffer, final int position, final DoublesUnion union)
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchBufferAggregatorHelper.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchBufferAggregatorHelper.java
index c009c00..d77921a 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchBufferAggregatorHelper.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchBufferAggregatorHelper.java
@@ -132,7 +132,7 @@ final class SketchBufferAggregatorHelper
   {
     WritableMemory mem = memCache.get(buffer);
     if (mem == null) {
-      mem = WritableMemory.wrap(buffer, ByteOrder.LITTLE_ENDIAN);
+      mem = WritableMemory.writableWrap(buffer, ByteOrder.LITTLE_ENDIAN);
       memCache.put(buffer, mem);
     }
     return mem;
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchHolder.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchHolder.java
index 2c6758c..59ca453 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchHolder.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/theta/SketchHolder.java
@@ -132,9 +132,9 @@ public class SketchHolder
   public void updateUnion(Union union)
   {
     if (obj instanceof Memory) {
-      union.update((Memory) obj);
+      union.union((Memory) obj);
     } else {
-      union.update(getSketch());
+      union.union(getSketch());
     }
   }
 
@@ -267,12 +267,12 @@ public class SketchHolder
       case INTERSECT:
         Intersection intersection = (Intersection) SetOperation.builder().setNominalEntries(sketchSize).build(Family.INTERSECTION);
         for (Object o : holders) {
-          intersection.update(((SketchHolder) o).getSketch());
+          intersection.intersect(((SketchHolder) o).getSketch());
         }
         return SketchHolder.of(intersection.getResult(false, null));
       case NOT:
         if (holders.length < 1) {
-          throw new IllegalArgumentException("A-Not-B requires atleast 1 sketch");
+          throw new IllegalArgumentException("A-Not-B requires at least 1 sketch");
         }
 
         if (holders.length == 1) {
@@ -282,8 +282,7 @@ public class SketchHolder
         Sketch result = ((SketchHolder) holders[0]).getSketch();
         for (int i = 1; i < holders.length; i++) {
           AnotB anotb = (AnotB) SetOperation.builder().setNominalEntries(sketchSize).build(Family.A_NOT_B);
-          anotb.update(result, ((SketchHolder) holders[i]).getSketch());
-          result = anotb.getResult(false, null);
+          result = anotb.aNotB(result, ((SketchHolder) holders[i]).getSketch());
         }
         return SketchHolder.of(result);
       default:
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java
index 3fb748f..27a4647 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchAggregatorFactory.java
@@ -165,10 +165,10 @@ public class ArrayOfDoublesSketchAggregatorFactory extends AggregatorFactory
     final ArrayOfDoublesUnion union = new ArrayOfDoublesSetOperationBuilder().setNominalEntries(nominalEntries)
         .setNumberOfValues(numberOfValues).buildUnion();
     if (lhs != null) {
-      union.update((ArrayOfDoublesSketch) lhs);
+      union.union((ArrayOfDoublesSketch) lhs);
     }
     if (rhs != null) {
-      union.update((ArrayOfDoublesSketch) rhs);
+      union.union((ArrayOfDoublesSketch) rhs);
     }
     return union.getResult();
   }
@@ -192,7 +192,7 @@ public class ArrayOfDoublesSketchAggregatorFactory extends AggregatorFactory
       public void fold(final ColumnValueSelector selector)
       {
         final ArrayOfDoublesSketch sketch = (ArrayOfDoublesSketch) selector.getObject();
-        union.update(sketch);
+        union.union(sketch);
       }
 
       @Override
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchBuildBufferAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchBuildBufferAggregator.java
index de067b7..ae991c1 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchBuildBufferAggregator.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchBuildBufferAggregator.java
@@ -73,7 +73,7 @@ public class ArrayOfDoublesSketchBuildBufferAggregator implements BufferAggregat
   @Override
   public void init(final ByteBuffer buf, final int position)
   {
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN);
     final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
     new ArrayOfDoublesUpdatableSketchBuilder().setNominalEntries(nominalEntries)
         .setNumberOfValues(valueSelectors.length)
@@ -99,7 +99,7 @@ public class ArrayOfDoublesSketchBuildBufferAggregator implements BufferAggregat
     // Wrapping memory and ArrayOfDoublesSketch is inexpensive compared to sketch operations.
     // Maintaining a cache of wrapped objects per buffer position like in Theta sketch aggregator
     // might might be considered, but it would increase complexity including relocate() support.
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN);
     final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
     final Lock lock = stripedLock.getAt(lockIndex(position)).writeLock();
     lock.lock();
@@ -126,7 +126,7 @@ public class ArrayOfDoublesSketchBuildBufferAggregator implements BufferAggregat
   @Override
   public Object get(final ByteBuffer buf, final int position)
   {
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN);
     final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
     final Lock lock = stripedLock.getAt(lockIndex(position)).readLock();
     lock.lock();
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeAggregator.java
index 9976290..98b86a0 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeAggregator.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeAggregator.java
@@ -63,7 +63,7 @@ public class ArrayOfDoublesSketchMergeAggregator implements Aggregator
       return;
     }
     synchronized (this) {
-      union.update(update);
+      union.union(update);
     }
   }
 
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeBufferAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeBufferAggregator.java
index bb0edb7..eb5ee6d 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeBufferAggregator.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchMergeBufferAggregator.java
@@ -66,7 +66,7 @@ public class ArrayOfDoublesSketchMergeBufferAggregator implements BufferAggregat
   @Override
   public void init(final ByteBuffer buf, final int position)
   {
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN);
     final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
     new ArrayOfDoublesSetOperationBuilder().setNominalEntries(nominalEntries)
         .setNumberOfValues(numberOfValues).buildUnion(region);
@@ -87,13 +87,13 @@ public class ArrayOfDoublesSketchMergeBufferAggregator implements BufferAggregat
     // Wrapping memory and ArrayOfDoublesUnion is inexpensive compared to union operations.
     // Maintaining a cache of wrapped objects per buffer position like in Theta sketch aggregator
     // might might be considered, but it would increase complexity including relocate() support.
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN);
     final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
     final Lock lock = stripedLock.getAt(ArrayOfDoublesSketchBuildBufferAggregator.lockIndex(position)).writeLock();
     lock.lock();
     try {
       final ArrayOfDoublesUnion union = ArrayOfDoublesSketches.wrapUnion(region);
-      union.update(update);
+      union.union(update);
     }
     finally {
       lock.unlock();
@@ -111,7 +111,7 @@ public class ArrayOfDoublesSketchMergeBufferAggregator implements BufferAggregat
   @Override
   public Object get(final ByteBuffer buf, final int position)
   {
-    final WritableMemory mem = WritableMemory.wrap(buf, ByteOrder.LITTLE_ENDIAN);
+    final WritableMemory mem = WritableMemory.writableWrap(buf, ByteOrder.LITTLE_ENDIAN);
     final WritableMemory region = mem.writableRegion(position, maxIntermediateSize);
     final Lock lock = stripedLock.getAt(ArrayOfDoublesSketchBuildBufferAggregator.lockIndex(position)).readLock();
     lock.lock();
diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchOperations.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchOperations.java
index 86fa95d..b1658a9 100644
--- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchOperations.java
+++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/tuple/ArrayOfDoublesSketchOperations.java
@@ -45,7 +45,7 @@ public class ArrayOfDoublesSketchOperations
         final ArrayOfDoublesUnion union = new ArrayOfDoublesSetOperationBuilder().setNominalEntries(nominalEntries)
             .setNumberOfValues(numberOfValues).buildUnion();
         for (final ArrayOfDoublesSketch sketch : sketches) {
-          union.update(sketch);
+          union.union(sketch);
         }
         return union.getResult();
       }
@@ -57,7 +57,7 @@ public class ArrayOfDoublesSketchOperations
         final ArrayOfDoublesIntersection intersection = new ArrayOfDoublesSetOperationBuilder()
             .setNominalEntries(nominalEntries).setNumberOfValues(numberOfValues).buildIntersection();
         for (final ArrayOfDoublesSketch sketch : sketches) {
-          intersection.update(sketch, COMBINER);
+          intersection.intersect(sketch, COMBINER);
         }
         return intersection.getResult();
       }
diff --git a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java
index 06e6287..9820b83 100644
--- a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java
+++ b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/theta/SketchAggregationTest.java
@@ -132,6 +132,7 @@ public class SketchAggregationTest
                                    + "   Theta (long) hex        : 7fffffffffffffff\n"
                                    + "   EstMode?                : false\n"
                                    + "   Empty?                  : false\n"
+                                   + "   Ordered?                : true\n"
                                    + "   Retained Entries        : 50\n"
                                    + "   Seed Hash               : 93cc | 37836\n"
                                    + "### END SKETCH SUMMARY\n";
diff --git a/pom.xml b/pom.xml
index 6e35118..5dfe8b3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -83,8 +83,8 @@
         <avatica.version>1.17.0</avatica.version>
         <avro.version>1.9.2</avro.version>
         <calcite.version>1.21.0</calcite.version>
-        <datasketches.version>2.0.0</datasketches.version>
-        <datasketches.memory.version>1.3.0</datasketches.memory.version>
+        <datasketches.version>3.0.0</datasketches.version>
+        <datasketches.memory.version>2.0.0</datasketches.memory.version>
         <derby.version>10.14.2.0</derby.version>
         <dropwizard.metrics.version>4.0.0</dropwizard.metrics.version>
         <errorprone.version>2.8.0</errorprone.version>
diff --git a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/BufferArrayGrouper.java b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/BufferArrayGrouper.java
index 864b6a3..2d5d5d4 100644
--- a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/BufferArrayGrouper.java
+++ b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/BufferArrayGrouper.java
@@ -143,7 +143,7 @@ public class BufferArrayGrouper implements VectorGrouper, IntGrouper
       // Slice up the buffer.
       buffer.position(0);
       buffer.limit(usedFlagBufferEnd);
-      usedFlagMemory = WritableMemory.wrap(buffer.slice(), ByteOrder.nativeOrder());
+      usedFlagMemory = WritableMemory.writableWrap(buffer.slice(), ByteOrder.nativeOrder());
 
       buffer.position(usedFlagBufferEnd);
       buffer.limit(buffer.capacity());
diff --git a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/HashVectorGrouper.java b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/HashVectorGrouper.java
index 53e9b2d..42743d2 100644
--- a/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/HashVectorGrouper.java
+++ b/processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/HashVectorGrouper.java
@@ -273,7 +273,7 @@ public class HashVectorGrouper implements VectorGrouper
     tableBuffer.limit(tableStart + MemoryOpenHashTable.memoryNeeded(numBuckets, bucketSize));
 
     return new MemoryOpenHashTable(
-        WritableMemory.wrap(tableBuffer.slice(), ByteOrder.nativeOrder()),
+        WritableMemory.writableWrap(tableBuffer.slice(), ByteOrder.nativeOrder()),
         numBuckets,
         Math.max(1, Math.min(bufferGrouperMaxSize, (int) (numBuckets * maxLoadFactor))),
         keySize,
diff --git a/processing/src/test/java/org/apache/druid/query/groupby/epinephelinae/collection/MemoryOpenHashTableTest.java b/processing/src/test/java/org/apache/druid/query/groupby/epinephelinae/collection/MemoryOpenHashTableTest.java
index f7f76de..ef9e78e 100644
--- a/processing/src/test/java/org/apache/druid/query/groupby/epinephelinae/collection/MemoryOpenHashTableTest.java
+++ b/processing/src/test/java/org/apache/druid/query/groupby/epinephelinae/collection/MemoryOpenHashTableTest.java
@@ -296,7 +296,7 @@ public class MemoryOpenHashTableTest
     }
 
     return new MemoryOpenHashTable(
-        WritableMemory.wrap(buffer, ByteOrder.nativeOrder()),
+        WritableMemory.writableWrap(buffer, ByteOrder.nativeOrder()),
         numBuckets,
         maxSize,
         keySize,

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