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

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


The following commit(s) were added to refs/heads/master by this push:
     new 43e785dfb3 Reuse broker/server hostname for multistage queryrunner 
hostname (#11473)
43e785dfb3 is described below

commit 43e785dfb31d388bbb3bc3dda36ee4016aa8868f
Author: Xiang Fu <xiangfu.1...@gmail.com>
AuthorDate: Fri Sep 1 05:56:12 2023 -0700

    Reuse broker/server hostname for multistage queryrunner hostname (#11473)
---
 .../broker/broker/helix/BaseBrokerStarter.java     |  4 +++
 .../apache/pinot/query/QueryServerEnclosure.java   |  3 +--
 .../pinot/query/runtime/QueryRunnerTest.java       | 30 +++++++++++++---------
 .../runtime/queries/ResourceBasedQueriesTest.java  |  6 ++---
 .../server/starter/helix/BaseServerStarter.java    |  4 +++
 .../apache/pinot/spi/utils/CommonConstants.java    |  1 -
 6 files changed, 29 insertions(+), 19 deletions(-)

diff --git 
a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
 
b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
index 349f01e2b1..c6b3627536 100644
--- 
a/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
+++ 
b/pinot-broker/src/main/java/org/apache/pinot/broker/broker/helix/BaseBrokerStarter.java
@@ -146,6 +146,10 @@ public abstract class BaseBrokerStarter implements 
ServiceStartable {
           _brokerConf.getProperty(Helix.SET_INSTANCE_ID_TO_HOSTNAME_KEY, 
false) ? NetUtils.getHostnameOrAddress()
               : NetUtils.getHostAddress();
     }
+    // Override multi-stage query runner hostname if not set explicitly
+    if 
(!_brokerConf.containsKey(MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME)) {
+      
_brokerConf.setProperty(MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME, 
_hostname);
+    }
     _port = _listenerConfigs.get(0).getPort();
     _tlsPort = ListenerConfigUtil.findLastTlsPort(_listenerConfigs, -1);
 
diff --git 
a/pinot-query-runtime/src/test/java/org/apache/pinot/query/QueryServerEnclosure.java
 
b/pinot-query-runtime/src/test/java/org/apache/pinot/query/QueryServerEnclosure.java
index 738c53f53f..fd7903c1b9 100644
--- 
a/pinot-query-runtime/src/test/java/org/apache/pinot/query/QueryServerEnclosure.java
+++ 
b/pinot-query-runtime/src/test/java/org/apache/pinot/query/QueryServerEnclosure.java
@@ -77,8 +77,7 @@ public class QueryServerEnclosure {
       _helixManager = mockHelixManager(factory.buildSchemaMap());
       _queryRunnerPort = QueryTestUtils.getAvailablePort();
       
_runnerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_PORT,
 _queryRunnerPort);
-      
_runnerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME,
-          String.format("Server_%s", 
CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_HOSTNAME));
+      
_runnerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME,
 "Server_localhost");
       _queryRunner = new QueryRunner();
     } catch (Exception e) {
       throw new RuntimeException("Test Failed!", e);
diff --git 
a/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTest.java
 
b/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTest.java
index afe5aa34ab..076b565743 100644
--- 
a/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTest.java
+++ 
b/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/QueryRunnerTest.java
@@ -128,14 +128,12 @@ public class QueryRunnerTest extends QueryRunnerTestBase {
     }
 
     _reducerGrpcPort = QueryTestUtils.getAvailablePort();
-    _reducerHostname = String.format("Broker_%s", 
CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_HOSTNAME);
+    _reducerHostname = "Broker_localhost";
     Map<String, Object> reducerConfig = new HashMap<>();
     
reducerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_PORT,
 _reducerGrpcPort);
     
reducerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME,
 _reducerHostname);
     _reducerScheduler = new OpChainSchedulerService(EXECUTOR);
-    _mailboxService =
-        new 
MailboxService(CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_HOSTNAME,
 _reducerGrpcPort,
-            new PinotConfiguration(reducerConfig));
+    _mailboxService = new MailboxService("localhost", _reducerGrpcPort, new 
PinotConfiguration(reducerConfig));
     _mailboxService.start();
 
     _queryEnvironment =
@@ -277,15 +275,23 @@ public class QueryRunnerTest extends QueryRunnerTestBase {
         // test groups limit in both leaf and intermediate stage
         new Object[]{"SET numGroupsLimit = 1; SELECT col1, COUNT(*) FROM a 
GROUP BY col1", 1},
         new Object[]{"SET numGroupsLimit = 2; SELECT col1, COUNT(*) FROM a 
GROUP BY col1", 2},
-        new Object[]{"SET numGroupsLimit = 1; "
-            + "SELECT a.col2, b.col2, COUNT(*) FROM a JOIN b USING (col1) 
GROUP BY a.col2, b.col2", 1},
-        new Object[]{"SET numGroupsLimit = 2; "
-            + "SELECT a.col2, b.col2, COUNT(*) FROM a JOIN b USING (col1) 
GROUP BY a.col2, b.col2", 2},
+        new Object[]{
+            "SET numGroupsLimit = 1; "
+                + "SELECT a.col2, b.col2, COUNT(*) FROM a JOIN b USING (col1) 
GROUP BY a.col2, b.col2", 1
+        },
+        new Object[]{
+            "SET numGroupsLimit = 2; "
+                + "SELECT a.col2, b.col2, COUNT(*) FROM a JOIN b USING (col1) 
GROUP BY a.col2, b.col2", 2
+        },
         // TODO: Consider pushing down hint to the leaf stage
-        new Object[]{"SET numGroupsLimit = 2; SELECT /*+ 
aggOptions(num_groups_limit='1') */ "
-            + "col1, COUNT(*) FROM a GROUP BY col1", 2},
-        new Object[]{"SET numGroupsLimit = 2; SELECT /*+ 
aggOptions(num_groups_limit='1') */ "
-            + "a.col2, b.col2, COUNT(*) FROM a JOIN b USING (col1) GROUP BY 
a.col2, b.col2", 1}
+        new Object[]{
+            "SET numGroupsLimit = 2; SELECT /*+ 
aggOptions(num_groups_limit='1') */ "
+                + "col1, COUNT(*) FROM a GROUP BY col1", 2
+        },
+        new Object[]{
+            "SET numGroupsLimit = 2; SELECT /*+ 
aggOptions(num_groups_limit='1') */ "
+                + "a.col2, b.col2, COUNT(*) FROM a JOIN b USING (col1) GROUP 
BY a.col2, b.col2", 1
+        }
     };
   }
 
diff --git 
a/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java
 
b/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java
index 38f03534dd..fc29c7c235 100644
--- 
a/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java
+++ 
b/pinot-query-runtime/src/test/java/org/apache/pinot/query/runtime/queries/ResourceBasedQueriesTest.java
@@ -184,14 +184,12 @@ public class ResourceBasedQueriesTest extends 
QueryRunnerTestBase {
     QueryServerEnclosure server2 = new QueryServerEnclosure(factory2);
 
     _reducerGrpcPort = QueryTestUtils.getAvailablePort();
-    _reducerHostname = String.format("Broker_%s", 
CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_HOSTNAME);
+    _reducerHostname = "Broker_localhost";
     Map<String, Object> reducerConfig = new HashMap<>();
     
reducerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_PORT,
 _reducerGrpcPort);
     
reducerConfig.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME,
 _reducerHostname);
     _reducerScheduler = new OpChainSchedulerService(EXECUTOR);
-    _mailboxService =
-        new 
MailboxService(CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_HOSTNAME,
 _reducerGrpcPort,
-            new PinotConfiguration(reducerConfig));
+    _mailboxService = new MailboxService("localhost", _reducerGrpcPort, new 
PinotConfiguration(reducerConfig));
     _mailboxService.start();
 
     Map<String, List<String>> tableToSegmentMap1 = 
factory1.buildTableSegmentNameMap();
diff --git 
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
 
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
index 2d97d9b93f..dac34e210b 100644
--- 
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
+++ 
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
@@ -154,6 +154,10 @@ public abstract class BaseServerStarter implements 
ServiceStartable {
     _hostname = _serverConf.getProperty(Helix.KEY_OF_SERVER_NETTY_HOST,
         _serverConf.getProperty(Helix.SET_INSTANCE_ID_TO_HOSTNAME_KEY, false) 
? NetUtils.getHostnameOrAddress()
             : NetUtils.getHostAddress());
+    // Override multi-stage query runner hostname if not set explicitly
+    if 
(!_serverConf.containsKey(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME))
 {
+      
_serverConf.setProperty(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_HOSTNAME,
 _hostname);
+    }
     _port = _serverConf.getProperty(Helix.KEY_OF_SERVER_NETTY_PORT, 
Helix.DEFAULT_SERVER_NETTY_PORT);
 
     _instanceId = _serverConf.getProperty(Server.CONFIG_OF_INSTANCE_ID);
diff --git 
a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java 
b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
index 3f0ab0d2b6..6b071e8f51 100644
--- a/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
+++ b/pinot-spi/src/main/java/org/apache/pinot/spi/utils/CommonConstants.java
@@ -1050,7 +1050,6 @@ public class CommonConstants {
      * {@link org.apache.pinot.common.datablock.DataBlock}.
      */
     public static final String KEY_OF_QUERY_RUNNER_HOSTNAME = 
"pinot.query.runner.hostname";
-    public static final String DEFAULT_QUERY_RUNNER_HOSTNAME = "localhost";
     public static final String KEY_OF_QUERY_RUNNER_PORT = 
"pinot.query.runner.port";
     public static final int DEFAULT_QUERY_RUNNER_PORT = 0;
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to