This is an automated email from the ASF dual-hosted git repository.
gian 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 b0ca06f8cd9 Fix name of combining filtered aggregator factory. (#16224)
b0ca06f8cd9 is described below
commit b0ca06f8cd900f03e0b39a306322975f814f498a
Author: Gian Merlino <[email protected]>
AuthorDate: Tue Apr 2 12:59:48 2024 -0700
Fix name of combining filtered aggregator factory. (#16224)
The name of the combining filtered aggregator factory should be the same
as the name of the original factory. However, it wasn't the same in the
case where the original factory's name and the original delegate aggregator
were inconsistently named. In this scenario, we should use the name of
the original filtered aggregator, not the name of the original delegate
aggregator.
---
.../query/aggregation/FilteredAggregatorFactory.java | 9 ++++++++-
.../aggregation/FilteredAggregatorFactoryTest.java | 20 ++++++++++++++++++++
2 files changed, 28 insertions(+), 1 deletion(-)
diff --git
a/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregatorFactory.java
b/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregatorFactory.java
index 3aa1d855945..9b8c0d20381 100644
---
a/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregatorFactory.java
+++
b/processing/src/main/java/org/apache/druid/query/aggregation/FilteredAggregatorFactory.java
@@ -139,7 +139,14 @@ public class FilteredAggregatorFactory extends
AggregatorFactory
@Override
public AggregatorFactory getCombiningFactory()
{
- return delegate.getCombiningFactory();
+ final AggregatorFactory delegateCombiningFactory =
delegate.getCombiningFactory();
+ final String myName = getName();
+
+ if (myName.equals(delegateCombiningFactory.getName())) {
+ return delegateCombiningFactory;
+ } else {
+ return delegateCombiningFactory.withName(myName);
+ }
}
@Override
diff --git
a/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorFactoryTest.java
b/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorFactoryTest.java
index 1f26547c8a2..1c691db6d1e 100644
---
a/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorFactoryTest.java
+++
b/processing/src/test/java/org/apache/druid/query/aggregation/FilteredAggregatorFactoryTest.java
@@ -48,6 +48,26 @@ public class FilteredAggregatorFactoryTest extends
InitializedNullHandlingTest
).getName());
}
+ @Test
+ public void testNameOfCombiningFactory()
+ {
+ Assert.assertEquals("overrideName", new FilteredAggregatorFactory(
+ new CountAggregatorFactory("foo"),
+ TrueDimFilter.instance(),
+ "overrideName"
+ ).getCombiningFactory().getName());
+ Assert.assertEquals("delegateName", new FilteredAggregatorFactory(
+ new CountAggregatorFactory("delegateName"),
+ TrueDimFilter.instance(),
+ ""
+ ).getCombiningFactory().getName());
+ Assert.assertEquals("delegateName", new FilteredAggregatorFactory(
+ new CountAggregatorFactory("delegateName"),
+ TrueDimFilter.instance(),
+ null
+ ).getCombiningFactory().getName());
+ }
+
@Test
public void testRequiredFields()
{
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]