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

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


The following commit(s) were added to refs/heads/master by this push:
     new 2d7cd69e7bd Remove raw typing in dummy pool classes (#18785)
2d7cd69e7bd is described below

commit 2d7cd69e7bd1492c46da1b4c4d80100d458ab56a
Author: Virushade <[email protected]>
AuthorDate: Sat Nov 29 14:27:24 2025 +0800

    Remove raw typing in dummy pool classes (#18785)
    
    * Dummy blocking pool generics
    * DummyBlockingPool
    * Test cases
    * Use integers to avoid imports
---
 .../druid/collections/DummyBlockingPool.java       | 10 ++---
 .../druid/collections/DummyNonBlockingPool.java    |  8 ++--
 .../druid/collections/DummyBlockingPoolTest.java   | 51 ++++++++++++++++++++++
 .../collections/DummyNonBlockingPoolTest.java}     | 31 +++++++------
 4 files changed, 75 insertions(+), 25 deletions(-)

diff --git 
a/processing/src/main/java/org/apache/druid/collections/DummyBlockingPool.java 
b/processing/src/main/java/org/apache/druid/collections/DummyBlockingPool.java
index 8906b915bd8..1c2d2c26a47 100644
--- 
a/processing/src/main/java/org/apache/druid/collections/DummyBlockingPool.java
+++ 
b/processing/src/main/java/org/apache/druid/collections/DummyBlockingPool.java
@@ -22,16 +22,16 @@ package org.apache.druid.collections;
 import java.util.List;
 
 /**
- * BlockingPool with 0 maxSize, all take*() methods immediately throw {@link 
UnsupportedOperationException}.
+ * BlockingPool with 0 maxSize, all {@code takeBatch} methods immediately 
throw {@link UnsupportedOperationException}.
  */
-public final class DummyBlockingPool<T> implements BlockingPool<T>
+public final class DummyBlockingPool implements BlockingPool<Object>
 {
   private static final DummyBlockingPool INSTANCE = new DummyBlockingPool();
 
   @SuppressWarnings("unchecked")
   public static <T> BlockingPool<T> instance()
   {
-    return INSTANCE;
+    return (BlockingPool<T>) INSTANCE;
   }
 
   private DummyBlockingPool()
@@ -45,13 +45,13 @@ public final class DummyBlockingPool<T> implements 
BlockingPool<T>
   }
 
   @Override
-  public List<ReferenceCountingResourceHolder<T>> takeBatch(int elementNum, 
long timeoutMs)
+  public List<ReferenceCountingResourceHolder<Object>> takeBatch(int 
elementNum, long timeoutMs)
   {
     throw new UnsupportedOperationException();
   }
 
   @Override
-  public List<ReferenceCountingResourceHolder<T>> takeBatch(int elementNum)
+  public List<ReferenceCountingResourceHolder<Object>> takeBatch(int 
elementNum)
   {
     throw new UnsupportedOperationException();
   }
diff --git 
a/processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
 
b/processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
index adbdfdfc405..28b47ccad69 100644
--- 
a/processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
+++ 
b/processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
@@ -20,16 +20,16 @@
 package org.apache.druid.collections;
 
 /**
- * NonBlockingPool which is not able to allocate objects, {@link #take()} 
throws {@link UnsupportedOperationException}.
+ * NonBlockingPool that cannot allocate objects, {@link #take()} throws {@link 
UnsupportedOperationException}.
  */
-public final class DummyNonBlockingPool<T> implements NonBlockingPool<T>
+public final class DummyNonBlockingPool implements NonBlockingPool<Object>
 {
   private static final DummyNonBlockingPool INSTANCE = new 
DummyNonBlockingPool();
 
   @SuppressWarnings("unchecked")
   public static <T> NonBlockingPool<T> instance()
   {
-    return INSTANCE;
+    return (NonBlockingPool<T>) INSTANCE;
   }
 
   private DummyNonBlockingPool()
@@ -37,7 +37,7 @@ public final class DummyNonBlockingPool<T> implements 
NonBlockingPool<T>
   }
 
   @Override
-  public ResourceHolder<T> take()
+  public ResourceHolder<Object> take()
   {
     throw new UnsupportedOperationException();
   }
diff --git 
a/processing/src/test/java/org/apache/druid/collections/DummyBlockingPoolTest.java
 
b/processing/src/test/java/org/apache/druid/collections/DummyBlockingPoolTest.java
new file mode 100644
index 00000000000..a78e320ac3a
--- /dev/null
+++ 
b/processing/src/test/java/org/apache/druid/collections/DummyBlockingPoolTest.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.druid.collections;
+
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+
+public class DummyBlockingPoolTest
+{
+  @Test
+  public void testSingletonInstance()
+  {
+    final BlockingPool<Object> p1 = DummyBlockingPool.instance();
+    final BlockingPool<Integer> p2 = DummyBlockingPool.instance();
+    Assertions.assertSame(p1, p2);
+  }
+
+  @Test
+  public void testMaxSizeAndMetricsAreZero()
+  {
+    final BlockingPool<Integer> pool = DummyBlockingPool.instance();
+    Assertions.assertEquals(0, pool.maxSize());
+    Assertions.assertEquals(0, pool.getPendingRequests());
+    Assertions.assertEquals(0, pool.getUsedResourcesCount());
+  }
+
+  @Test
+  public void testTakeBatchThrows()
+  {
+    final BlockingPool<Integer> pool = DummyBlockingPool.instance();
+    Assertions.assertThrows(UnsupportedOperationException.class, () -> 
pool.takeBatch(1));
+    Assertions.assertThrows(UnsupportedOperationException.class, () -> 
pool.takeBatch(1, 10L));
+  }
+}
diff --git 
a/processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
 
b/processing/src/test/java/org/apache/druid/collections/DummyNonBlockingPoolTest.java
similarity index 62%
copy from 
processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
copy to 
processing/src/test/java/org/apache/druid/collections/DummyNonBlockingPoolTest.java
index adbdfdfc405..576a9567fb2 100644
--- 
a/processing/src/main/java/org/apache/druid/collections/DummyNonBlockingPool.java
+++ 
b/processing/src/test/java/org/apache/druid/collections/DummyNonBlockingPoolTest.java
@@ -19,26 +19,25 @@
 
 package org.apache.druid.collections;
 
-/**
- * NonBlockingPool which is not able to allocate objects, {@link #take()} 
throws {@link UnsupportedOperationException}.
- */
-public final class DummyNonBlockingPool<T> implements NonBlockingPool<T>
-{
-  private static final DummyNonBlockingPool INSTANCE = new 
DummyNonBlockingPool();
-
-  @SuppressWarnings("unchecked")
-  public static <T> NonBlockingPool<T> instance()
-  {
-    return INSTANCE;
-  }
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
 
-  private DummyNonBlockingPool()
+public class DummyNonBlockingPoolTest
+{
+  @Test
+  public void testSingletonInstance()
   {
+    final NonBlockingPool<Object> p1 = DummyNonBlockingPool.instance();
+    final NonBlockingPool<Integer> p2 = DummyNonBlockingPool.instance();
+    Assertions.assertSame(p1, p2);
   }
 
-  @Override
-  public ResourceHolder<T> take()
+  @Test
+  public void testTakeThrows()
   {
-    throw new UnsupportedOperationException();
+    final NonBlockingPool<Integer> pool = DummyNonBlockingPool.instance();
+    Assertions.assertThrows(UnsupportedOperationException.class, pool::take);
   }
 }
+
+


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to