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

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


The following commit(s) were added to refs/heads/0.18.0 by this push:
     new af2fed7  disable group by config applyLimitPushDownToSegment by 
default (#9711) (#9713)
af2fed7 is described below

commit af2fed706363804ee3c4bae962b85376e94419f5
Author: Clint Wylie <[email protected]>
AuthorDate: Thu Apr 16 10:03:10 2020 -0700

    disable group by config applyLimitPushDownToSegment by default (#9711) 
(#9713)
    
    * disable group by config applyLimitPushDownToSegment by default
    
    * document
---
 docs/querying/groupbyquery.md                                       | 2 +-
 .../java/org/apache/druid/query/groupby/GroupByQueryConfig.java     | 2 +-
 .../java/org/apache/druid/query/groupby/GroupByQueryConfigTest.java | 6 ++++--
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/docs/querying/groupbyquery.md b/docs/querying/groupbyquery.md
index a9ff9b2..27323e4 100644
--- a/docs/querying/groupbyquery.md
+++ b/docs/querying/groupbyquery.md
@@ -414,7 +414,7 @@ Supported runtime properties:
 |`druid.query.groupBy.forceHashAggregation`|Force to use hash-based 
aggregation.|false|
 |`druid.query.groupBy.intermediateCombineDegree`|Number of intermediate nodes 
combined together in the combining tree. Higher degrees will need less threads 
which might be helpful to improve the query performance by reducing the 
overhead of too many threads if the server has sufficiently powerful cpu 
cores.|8|
 |`druid.query.groupBy.numParallelCombineThreads`|Hint for the number of 
parallel combining threads. This should be larger than 1 to turn on the 
parallel combining feature. The actual number of threads used for parallel 
combining is min(`druid.query.groupBy.numParallelCombineThreads`, 
`druid.processing.numThreads`).|1 (disabled)|
-|`druid.query.groupBy.applyLimitPushDownToSegment`|If Broker pushes limit down 
to queryable nodes (historicals, peons) then limit results during segment 
scan.|true (enabled)|
+|`druid.query.groupBy.applyLimitPushDownToSegment`|If Broker pushes limit down 
to queryable data server (historicals, peons) then limit results during segment 
scan. If typically there are a large number of segments taking part in a query 
on a data server, this setting may counterintuitively reduce performance if 
enabled.|false (disabled)|
 
 Supported query contexts:
 
diff --git 
a/processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryConfig.java
 
b/processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryConfig.java
index 17ca929..c31ec26 100644
--- 
a/processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryConfig.java
+++ 
b/processing/src/main/java/org/apache/druid/query/groupby/GroupByQueryConfig.java
@@ -80,7 +80,7 @@ public class GroupByQueryConfig
   private boolean forcePushDownLimit = false;
 
   @JsonProperty
-  private boolean applyLimitPushDownToSegment = true;
+  private boolean applyLimitPushDownToSegment = false;
 
   @JsonProperty
   private boolean forcePushDownNestedQuery = false;
diff --git 
a/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryConfigTest.java
 
b/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryConfigTest.java
index 4cb5e80..fb0090f 100644
--- 
a/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryConfigTest.java
+++ 
b/processing/src/test/java/org/apache/druid/query/groupby/GroupByQueryConfigTest.java
@@ -56,6 +56,7 @@ public class GroupByQueryConfigTest
     Assert.assertEquals(4, config.getMaxOnDiskStorage());
     Assert.assertEquals(5, config.getMaxMergingDictionarySize());
     Assert.assertEquals(6.0, config.getBufferGrouperMaxLoadFactor(), 0.0);
+    Assert.assertFalse(config.isApplyLimitPushDownToSegment());
   }
 
   @Test
@@ -78,6 +79,7 @@ public class GroupByQueryConfigTest
     Assert.assertEquals(4, config2.getMaxOnDiskStorage());
     Assert.assertEquals(5, config2.getMaxMergingDictionarySize());
     Assert.assertEquals(6.0, config2.getBufferGrouperMaxLoadFactor(), 0.0);
+    Assert.assertFalse(config2.isApplyLimitPushDownToSegment());
   }
 
   @Test
@@ -95,7 +97,7 @@ public class GroupByQueryConfigTest
                             "maxOnDiskStorage", 0,
                             "maxResults", 2,
                             "maxMergingDictionarySize", 3,
-                            "applyLimitPushDownToSegment", false
+                            "applyLimitPushDownToSegment", true
                         )
                     )
                     .build()
@@ -109,6 +111,6 @@ public class GroupByQueryConfigTest
     Assert.assertEquals(0, config2.getMaxOnDiskStorage());
     Assert.assertEquals(3, config2.getMaxMergingDictionarySize());
     Assert.assertEquals(6.0, config2.getBufferGrouperMaxLoadFactor(), 0.0);
-    Assert.assertFalse(config2.isApplyLimitPushDownToSegment());
+    Assert.assertTrue(config2.isApplyLimitPushDownToSegment());
   }
 }


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

Reply via email to