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]