public static Options constructControllerOptions()

in uReplicator-Controller/src/main/java/com/uber/stream/kafka/mirrormaker/controller/ControllerConf.java [824:889]


  public static Options constructControllerOptions() {
    final Options controllerOptions = new Options();
    controllerOptions.addOption("help", false, "Help")
        .addOption("example1", false, "Start with default example")
        .addOption("example2", false, "Start with autowhitelisting example")
        .addOption("config", true, "Config file")
        .addOption("enableFederated", true, "Whether to enable federated uReplicator")
        .addOption("deploymentName", true, "Federated uReplicator deployment name")
        .addOption("srcClusters", true, "Source cluster names for federated uReplicator")
        .addOption("destClusters", true, "Destination cluster names for federated uReplicator")
        .addOption("helixClusterName", true, "Helix Cluster Name")
        .addOption("mode", true, "Controller Mode")
        .addOption("zookeeper", true, "Zookeeper path")
        .addOption("port", true, "Controller port number")
        .addOption("env", true, "Environment")
        .addOption("instanceId", true, "InstanceId")
        .addOption("graphiteHost", true, "Graphite Host")
        .addOption("graphitePort", true, "Graphite Port")
        .addOption("metricsPrefix", true, "Metrics prefix")
        .addOption("graphiteReportFreqInSec", true, "Graphite report frequency in seconds")
        .addOption("enableJmxReport", true, "enable jmx report")
        .addOption("enableGraphiteReport", true, "enable graphite report")
        .addOption("c3Host", true, "Chaperone3 Host")
        .addOption("c3Port", true, "Chaperone3 Port")
        .addOption("enableAutoWhitelist", true, "Enable Auto Whitelist")
        .addOption("enableAutoTopicExpansion", true, "Enable Auto Topic Expansion during Source Kafka Validation")
        .addOption("patternToExcludeTopics", true, "Exclude specific topics by pattern")
        .addOption("enableSrcKafkaValidation", true, "Enable Source Kafka Validation")
        .addOption("srcKafkaZkPath", true, "Source Kafka Zookeeper Path")
        .addOption("destKafkaZkPath", true, "Destination Kafka Zookeeper Path")
        .addOption("consumerCommitZkPath", true, "Consumer commit Zookeeper Path")
        .addOption("maxWorkingInstances", true,
            "The maximum number of instances that are assigned with workload. All other instances will be standby. 0 means no limit")
        .addOption("autoRebalanceDelayInSeconds", true, "Auto Rebalance Delay in seconds")
        .addOption("refreshTimeInSeconds", true, "Controller Whitelist Manager Refresh Time in seconds")
        .addOption("initWaitTimeInSeconds", true, "Controller Init Delay in seconds")
        .addOption("autoRebalancePeriodInSeconds", true, "Period to try auto rebalancing in seconds")
        .addOption("autoRebalanceMinIntervalInSeconds", true, "Minimum interval between auto rebalancing in seconds")
        .addOption("autoRebalanceMinLagTimeInSeconds", true,
            "Minimum time in seconds to be considered as lag to trigger rebalancing")
        .addOption("autoRebalanceMinLagOffset", true, "Minimum offset to be considered as lag to trigger rebalancing")
        .addOption("autoRebalanceMaxOffsetInfoValidInSeconds", true,
            "Maximum time in seconds for the offset information to be considered as still valid")
        .addOption("workloadRefreshPeriodInSeconds", true, "The period to refresh workload information in seconds")
        .addOption("autoRebalanceWorkloadRatioThreshold", true,
            "The ratio of workload compared to average for auto workload rebalance")
        .addOption("maxDedicatedLaggingInstancesRatio", true,
            "The ratio of instances dedicated for serving lagging partitions")
        .addOption("maxStuckPartitionMovements", true,
            "The maximum trials to automatically move a stuck partition from an instance to another. 0 would disable movements")
        .addOption("moveStuckPartitionAfterMinutes", true,
            "The time to automatically move a stuck partition after it has been stuck in an instance")
        .addOption("backUpToGit", true, "Backup controller metadata to git (true) or local file (false)")
        .addOption("numOffsetThread", true, "Number of threads to fetch topic offsets")
        .addOption("blockingQueueSize", true, "Size of OffsetMonitor blocking queue size")
        .addOption("offsetRefreshIntervalInSec", true, "Topic offset monitor refresh interval")
        .addOption("groupId", true, "Consumer group id")
        .addOption("backUpToGit", true, "Backup controller metadata to git (true) or local file (false)")
        .addOption("remoteBackupRepo", true, "Remote Backup Repo to store cluster state")
        .addOption("localGitRepoClonePath", true, "Clone location of the remote git backup repo")
        .addOption("localBackupFilePath", true, "Local backup file location")
        .addOption("hostname", true, "hostname for this host")
        .addOption("maxWorkloadPerWorkerByteWithinRegion", true, "The max workload per worker within region")
        .addOption("maxWorkloadPerWorkerByteCrossRegion", true, "The max workload per worker cross region");
    return controllerOptions;
  }