in src/main/java/com/uber/rss/StreamServerConfig.java [101:169]
public static StreamServerConfig buildFromArgs(String[] args) throws IOException {
StreamServerConfig serverConfig = new StreamServerConfig();
String hadoopConfFiles = null;
// TODO use library to process arguments
for (int i = 0; i < args.length; ) {
String argName = args[i++];
if (argName.equalsIgnoreCase("-epoll")) {
serverConfig.useEpoll = Boolean.parseBoolean(args[i++]);
} else if (argName.equalsIgnoreCase("-port")) {
serverConfig.shufflePort = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-httpPort")) {
serverConfig.httpPort = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-rootDir")) {
serverConfig.rootDir = args[i++];
} else if (argName.equalsIgnoreCase("-nettyAcceptThreads")) {
serverConfig.nettyAcceptThreads = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-nettyWorkerThreads")) {
serverConfig.nettyWorkerThreads = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-networkBacklog")) {
serverConfig.networkBacklog = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-networkTimeout")) {
serverConfig.networkTimeout = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-networkRetries")) {
serverConfig.networkRetries = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-appMemoryRetentionMillis")) {
serverConfig.appMemoryRetentionMillis = Long.parseLong(args[i++]);
} else if (argName.equalsIgnoreCase("-appFileRetentionMillis")) {
serverConfig.appFileRetentionMillis = Long.parseLong(args[i++]);
} else if (argName.equalsIgnoreCase("-appMaxWriteBytes")) {
serverConfig.appMaxWriteBytes = Long.parseLong(args[i++]);
} else if (argName.equalsIgnoreCase("-hadoopConf")) {
hadoopConfFiles = args[i++];
} else if (argName.equalsIgnoreCase("-keytab")) {
serverConfig.keytab = args[i++];
} else if (argName.equalsIgnoreCase("-principal")) {
serverConfig.principal = args[i++];
} else if (argName.equalsIgnoreCase("-memoryPercentage")) {
serverConfig.throttleMemoryPercentage = Integer.parseInt(args[i++]);
} else if (argName.equalsIgnoreCase("-serviceRegistry")) {
serverConfig.serviceRegistryType = args[i++].toLowerCase();
} else if (argName.equalsIgnoreCase("-dataCenter")) {
serverConfig.dataCenter = args[i++];
} else if (argName.equalsIgnoreCase("-cluster")) {
serverConfig.cluster = args[i++];
} else if (argName.equalsIgnoreCase("-zooKeeperServers")) {
serverConfig.zooKeeperServers = args[i++];
} else if (argName.equalsIgnoreCase("-zooKeeperServersBackup")) {
serverConfig.zooKeeperServersBackup = args[i++];
} else if (argName.equalsIgnoreCase("-registryServer")) {
serverConfig.registryServer = args[i++];
} else {
throw new IllegalArgumentException("Unsupported argument: " + argName);
}
}
if (!ServiceRegistry.VALID_TYPES.contains(serverConfig.serviceRegistryType)) {
throw new IllegalArgumentException("Unsupported value for -serviceRegistry: " + serverConfig.serviceRegistryType);
}
if (serverConfig.rootDir.isEmpty()) {
serverConfig.rootDir = Files.createTempDirectory("StreamServer_").toString();
}
serverConfig.storage = new ShuffleFileStorage();
return serverConfig;
}