Skip to content

Commit

Permalink
Fix grpc port assignment in multiple server quickstart (#8834)
Browse files Browse the repository at this point in the history
  • Loading branch information
xiangfu0 authored Jun 6, 2022
1 parent babfde1 commit d1d2ddb
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public class QuickstartRunner {
private static final int DEFAULT_BROKER_PORT = 8000;
private static final int DEFAULT_SERVER_ADMIN_API_PORT = 7500;
private static final int DEFAULT_SERVER_NETTY_PORT = 7000;
private static final int DEFAULT_SERVER_GRPC_PORT = 7100;
private static final int DEFAULT_MINION_PORT = 6000;

private static final String DEFAULT_ZK_DIR = "PinotZkDir";
Expand Down Expand Up @@ -145,6 +146,7 @@ private void startServers()
for (int i = 0; i < _numServers; i++) {
StartServerCommand serverStarter = new StartServerCommand();
serverStarter.setPort(DEFAULT_SERVER_NETTY_PORT + i).setAdminPort(DEFAULT_SERVER_ADMIN_API_PORT + i)
.setGrpcPort(DEFAULT_SERVER_GRPC_PORT + i)
.setZkAddress(_zkExternalAddress != null ? _zkExternalAddress : ZK_ADDRESS).setClusterName(CLUSTER_NAME)
.setDataDir(new File(_tempDir, DEFAULT_SERVER_DATA_DIR + i).getAbsolutePath())
.setSegmentDir(new File(_tempDir, DEFAULT_SERVER_SEGMENT_DIR + i).getAbsolutePath())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ public class StartServerCommand extends AbstractBaseAdminCommand implements Comm
description = "Port number to serve the server admin API at.")
private int _serverAdminPort = CommonConstants.Server.DEFAULT_ADMIN_API_PORT;

@CommandLine.Option(names = {"-serverGrpcPort"}, required = false,
description = "Port number to serve the grpc query.")
private int _serverGrpcPort = CommonConstants.Server.DEFAULT_GRPC_PORT;

@CommandLine.Option(names = {"-dataDir"}, required = false, description = "Path to directory containing data.")
private String _dataDir = PinotConfigUtils.TMP_DIR + "data/pinotServerData";

Expand All @@ -70,7 +74,7 @@ public class StartServerCommand extends AbstractBaseAdminCommand implements Comm

@CommandLine.Option(names = {"-configFileName", "-config", "-configFile", "-serverConfig", "-serverConf"},
required = false, description = "Server Starter Config file.")
// TODO support forbids = {"-serverHost", "-serverPort", "-dataDir", "-segmentDir"}
// TODO support forbids = {"-serverHost", "-serverPort", "-dataDir", "-segmentDir"}
private String _configFileName;

private Map<String, Object> _configOverrides = new HashMap<>();
Expand All @@ -92,6 +96,10 @@ public int getServerAdminPort() {
return _serverAdminPort;
}

public int getServerGrpcPort() {
return _serverGrpcPort;
}

public String getDataDir() {
return _dataDir;
}
Expand Down Expand Up @@ -136,6 +144,11 @@ public StartServerCommand setAdminPort(int adminPort) {
return this;
}

public StartServerCommand setGrpcPort(int grpcPort) {
_serverGrpcPort = grpcPort;
return this;
}

public StartServerCommand setDataDir(String dataDir) {
_dataDir = dataDir;
return this;
Expand All @@ -160,12 +173,12 @@ public StartServerCommand setConfigOverrides(Map<String, Object> configs) {
public String toString() {
if (_configFileName != null) {
return ("StartServer -clusterName " + _clusterName + " -serverHost " + _serverHost + " -serverPort " + _serverPort
+ " -serverAdminPort " + _serverAdminPort + " -configFileName " + _configFileName + " -zkAddress "
+ _zkAddress);
+ " -serverAdminPort " + _serverAdminPort + " -serverGrpcPort " + _serverGrpcPort + " -configFileName "
+ _configFileName + " -zkAddress " + _zkAddress);
} else {
return ("StartServer -clusterName " + _clusterName + " -serverHost " + _serverHost + " -serverPort " + _serverPort
+ " -serverAdminPort " + _serverAdminPort + " -dataDir " + _dataDir + " -segmentDir " + _segmentDir
+ " -zkAddress " + _zkAddress);
+ " -serverAdminPort " + _serverAdminPort + " -serverGrpcPort " + _serverGrpcPort + " -dataDir " + _dataDir
+ " -segmentDir " + _segmentDir + " -zkAddress " + _zkAddress);
}
}

Expand Down Expand Up @@ -215,8 +228,8 @@ protected Map<String, Object> getServerConf()
_clusterName = MapUtils.getString(properties, CommonConstants.Helix.CONFIG_OF_CLUSTER_NAME, _clusterName);
} else {
properties.putAll(PinotConfigUtils
.generateServerConf(_clusterName, _zkAddress, _serverHost, _serverPort, _serverAdminPort, _dataDir,
_segmentDir));
.generateServerConf(_clusterName, _zkAddress, _serverHost, _serverPort, _serverAdminPort, _serverGrpcPort,
_dataDir, _segmentDir));
}
if (_configOverrides != null) {
properties.putAll(_configOverrides);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ private Map<String, Object> getDefaultConfig(ServiceRole serviceRole)
case SERVER:
return PinotConfigUtils
.generateServerConf(_clusterName, _zkAddress, null, CommonConstants.Helix.DEFAULT_SERVER_NETTY_PORT,
CommonConstants.Server.DEFAULT_ADMIN_API_PORT, null, null);
CommonConstants.Server.DEFAULT_ADMIN_API_PORT, CommonConstants.Server.DEFAULT_GRPC_PORT, null, null);
default:
throw new RuntimeException("No default config found for service role: " + serviceRole);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ public static Map<String, Object> generateBrokerConf(String clusterName, String
}

public static Map<String, Object> generateServerConf(String clusterName, String zkAddress, String serverHost,
int serverPort, int serverAdminPort, String serverDataDir, String serverSegmentDir)
int serverPort, int serverAdminPort, int serverGrpcPort, String serverDataDir, String serverSegmentDir)
throws SocketException, UnknownHostException {
if (serverHost == null) {
serverHost = NetUtils.getHostAddress();
Expand All @@ -184,6 +184,7 @@ public static Map<String, Object> generateServerConf(String clusterName, String
properties.put(CommonConstants.Helix.KEY_OF_SERVER_NETTY_HOST, serverHost);
properties.put(CommonConstants.Helix.KEY_OF_SERVER_NETTY_PORT, serverPort);
properties.put(CommonConstants.Server.CONFIG_OF_ADMIN_API_PORT, serverAdminPort);
properties.put(CommonConstants.Server.CONFIG_OF_GRPC_PORT, serverGrpcPort);
properties.put(CommonConstants.Server.CONFIG_OF_INSTANCE_DATA_DIR, serverDataDir);
properties.put(CommonConstants.Server.CONFIG_OF_INSTANCE_SEGMENT_TAR_DIR, serverSegmentDir);

Expand Down

0 comments on commit d1d2ddb

Please sign in to comment.