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 30fca7c0385 Enable broker gRPC only for quickstarts. (#17575)
30fca7c0385 is described below
commit 30fca7c0385b8b61782a69254c6eb2aa1147c4bd
Author: Xiang Fu <[email protected]>
AuthorDate: Mon Jan 26 18:15:41 2026 -0800
Enable broker gRPC only for quickstarts. (#17575)
Quickstarts now set a default broker gRPC port, while standard
broker/service-manager startup keeps gRPC disabled unless explicitly
configured. This avoids accidental exposure of query ports while preserving
quickstart convenience.
---
.../tools/admin/command/QuickstartRunner.java | 2 ++
.../tools/admin/command/StartBrokerCommand.java | 23 ++++++++++++++++++----
.../admin/command/StartServiceManagerCommand.java | 3 ++-
.../apache/pinot/tools/utils/PinotConfigUtils.java | 7 ++++++-
4 files changed, 29 insertions(+), 6 deletions(-)
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
index f0192313f2d..41af297328a 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/QuickstartRunner.java
@@ -54,6 +54,7 @@ public class QuickstartRunner {
public static final int DEFAULT_CONTROLLER_PORT = 9000;
private static final int DEFAULT_BROKER_PORT = 8000;
+ private static final int DEFAULT_BROKER_GRPC_PORT = 8010;
private static final int DEFAULT_SERVER_ADMIN_API_PORT = 7500;
private static final int DEFAULT_SERVER_NETTY_PORT = 7050;
private static final int DEFAULT_SERVER_GRPC_PORT = 7100;
@@ -164,6 +165,7 @@ public class QuickstartRunner {
for (int i = 0; i < _numBrokers; i++) {
StartBrokerCommand brokerStarter = new StartBrokerCommand();
brokerStarter.setPort(DEFAULT_BROKER_PORT + i)
+ .setGrpcPort(DEFAULT_BROKER_GRPC_PORT + i)
.setZkAddress(_zkExternalAddress != null ? _zkExternalAddress :
ZK_ADDRESS).setClusterName(CLUSTER_NAME)
.setConfigOverrides(_configOverrides);
if (!brokerStarter.execute()) {
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java
index 95d542680f3..05db6d89fa3 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartBrokerCommand.java
@@ -48,6 +48,11 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
@CommandLine.Option(names = {"-brokerPort"}, required = false, description =
"Broker port number to use for query.")
private int _brokerPort = CommonConstants.Helix.DEFAULT_BROKER_QUERY_PORT;
+ @CommandLine.Option(names = {"-brokerGrpcPort"}, required = false,
description = "Broker gRPC port number to use "
+ + "for query. Positive values enable gRPC on that port, 0 enables gRPC
on an available port, and negative "
+ + "values (default -1) disable gRPC.")
+ private int _brokerGrpcPort = -1;
+
@CommandLine.Option(names = {"-brokerMultiStageRunnerPort"}, required =
false,
description = "Broker port number to use for query.")
private int _brokerMultiStageRunnerPort =
CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_PORT;
@@ -60,7 +65,7 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
@CommandLine.Option(names = {"-configFileName", "-config", "-configFile",
"-brokerConfig", "-brokerConf"},
required = false, description = "Broker Starter Config file.")
- // TODO: support forbids = {"-brokerHost", "-brokerPort"})
+ // TODO: support forbids = {"-brokerHost", "-brokerPort"})
private String _configFileName;
@CommandLine.Option(names = {"-configOverrides"}, required = false, split =
",",
@@ -75,6 +80,10 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
return _brokerPort;
}
+ public int getBrokerGrpcPort() {
+ return _brokerGrpcPort;
+ }
+
public int getBrokerMultiStageRunnerPort() {
return _brokerMultiStageRunnerPort;
}
@@ -105,7 +114,8 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
if (_configFileName != null) {
return ("StartBroker -zkAddress " + _zkAddress + " -configFileName " +
_configFileName);
} else {
- return ("StartBroker -brokerHost " + _brokerHost + " -brokerPort " +
_brokerPort + " -zkAddress " + _zkAddress);
+ return ("StartBroker -brokerHost " + _brokerHost + " -brokerPort " +
_brokerPort + " -brokerGrpcPort "
+ + _brokerGrpcPort + " -zkAddress " + _zkAddress);
}
}
@@ -128,6 +138,11 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
return this;
}
+ public StartBrokerCommand setGrpcPort(int grpcPort) {
+ _brokerGrpcPort = grpcPort;
+ return this;
+ }
+
public StartBrokerCommand setBrokerMultiStageRunnerPort(int
brokerMultiStageRunnerPort) {
_brokerMultiStageRunnerPort = brokerMultiStageRunnerPort;
return this;
@@ -152,7 +167,7 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
public boolean execute()
throws Exception {
try {
- LOGGER.info("Executing command: {}", toString());
+ LOGGER.info("Executing command: {}", this);
Map<String, Object> brokerConf = getBrokerConf();
StartServiceManagerCommand startServiceManagerCommand =
new
StartServiceManagerCommand().setZkAddress(_zkAddress).setClusterName(_clusterName).setPort(-1)
@@ -180,7 +195,7 @@ public class StartBrokerCommand extends
AbstractBaseAdminCommand implements Comm
_clusterName = MapUtils.getString(properties,
CommonConstants.Helix.CONFIG_OF_CLUSTER_NAME, _clusterName);
} else {
properties.putAll(PinotConfigUtils.generateBrokerConf(_clusterName,
_zkAddress, _brokerHost, _brokerPort,
- _brokerMultiStageRunnerPort));
+ _brokerGrpcPort, _brokerMultiStageRunnerPort));
}
if (_configOverrides != null) {
properties.putAll(_configOverrides);
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartServiceManagerCommand.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartServiceManagerCommand.java
index 05e50d498a8..43976ed21da 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartServiceManagerCommand.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/admin/command/StartServiceManagerCommand.java
@@ -161,7 +161,7 @@ public class StartServiceManagerCommand extends
AbstractBaseAdminCommand impleme
public boolean execute()
throws Exception {
try {
- LOGGER.info("Executing command: {}", toString());
+ LOGGER.info("Executing command: {}", this);
if (!startPinotService("SERVICE_MANAGER", this::startServiceManager)) {
return false;
}
@@ -207,6 +207,7 @@ public class StartServiceManagerCommand extends
AbstractBaseAdminCommand impleme
case BROKER:
return PinotConfigUtils
.generateBrokerConf(_clusterName, _zkAddress, null,
CommonConstants.Helix.DEFAULT_BROKER_QUERY_PORT,
+ -1,
CommonConstants.MultiStageQueryRunner.DEFAULT_QUERY_RUNNER_PORT);
case SERVER:
return PinotConfigUtils
diff --git
a/pinot-tools/src/main/java/org/apache/pinot/tools/utils/PinotConfigUtils.java
b/pinot-tools/src/main/java/org/apache/pinot/tools/utils/PinotConfigUtils.java
index d2571faafd7..3dd6d0d9327 100644
---
a/pinot-tools/src/main/java/org/apache/pinot/tools/utils/PinotConfigUtils.java
+++
b/pinot-tools/src/main/java/org/apache/pinot/tools/utils/PinotConfigUtils.java
@@ -152,7 +152,7 @@ public class PinotConfigUtils {
}
public static Map<String, Object> generateBrokerConf(String clusterName,
String zkAddress, String brokerHost,
- int brokerPort, int brokerMultiStageRunnerPort)
+ int brokerPort, int brokerGrpcPort, int brokerMultiStageRunnerPort)
throws SocketException, UnknownHostException {
Map<String, Object> properties = new HashMap<>();
properties.put(CommonConstants.Helix.CONFIG_OF_CLUSTER_NAME, clusterName);
@@ -160,6 +160,11 @@ public class PinotConfigUtils {
properties.put(CommonConstants.Broker.CONFIG_OF_BROKER_HOSTNAME,
!StringUtils.isEmpty(brokerHost) ? brokerHost :
NetUtils.getHostAddress());
properties.put(CommonConstants.Helix.KEY_OF_BROKER_QUERY_PORT, brokerPort
!= 0 ? brokerPort : getAvailablePort());
+ if (brokerGrpcPort > 0) {
+ properties.put(CommonConstants.Broker.Grpc.KEY_OF_GRPC_PORT,
brokerGrpcPort);
+ } else if (brokerGrpcPort == 0) {
+ properties.put(CommonConstants.Broker.Grpc.KEY_OF_GRPC_PORT,
getAvailablePort());
+ }
properties.put(CommonConstants.MultiStageQueryRunner.KEY_OF_QUERY_RUNNER_PORT,
brokerMultiStageRunnerPort != 0
? brokerMultiStageRunnerPort : getAvailablePort());
return properties;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]