/*
* Copyright 2014 University of Southern California
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package edu.usc.pgroup.floe.config;
/**
* configuration property names and types.
*
* @author Alok Kumbhare
*/
public final class ConfigProperties {
/**
* Execution mode for floe (local or distributed).
*/
public static final String FLOE_EXEC_MODE = "floe.execution.mode";
/**
* FLOE scratch folder, used by different components locally.
* Relative to FLOE_HOME
*/
public static final String FLOE_EXEC_SCRATCH_FOLDER = "floe.execution"
+ ".folder.scratch";
/**
* FLOE jar (with all dependencies) containing all components of the
* application.
*/
public static final String FLOE_EXE_JAR = "floe.execution.jar";
/**
* Floe resource manager.
*/
public static final String FLOE_EXE_RESOURCE_MANAGER = "floe.execution"
+ ".resourcemanager";
/**
* The host address for the FLOE coordinator.
*/
public static final String COORDINATOR_HOST = "floe.coordinator.host";
/**
* The port on which the coordinator is listening.
*/
public static final String COORDINATOR_PORT = "floe.coordinator.port";
/**
* The number of threads in the coordinator coordinator thread pool.
*/
public static final String COORDINATOR_SERVICE_THREAD_COUNT =
"floe.coordinator.threadcount";
/**
* COORDINATOR File upload folder.
* Relative to FLOE_EXEC_SCRATCH_FOLDER
*/
public static final String COORDINATOR_FILE_UPLOAD_FOLDER = "floe"
+ ".coordinator.folder.fileupload";
/**
* Retry policy used by the resource manager while communicating with the
* resources.
*/
public static final String RESOURCEMANAGER_RETRYPOLICY = "floe"
+ ".resourcemanager.retrypolicy";
/**
* Arguments to the retry policy.
*/
public static final java.lang.String RESOURCEMANAGER_RETRYPOLICY_ARGS
= "floe.resourcemanager.retrypolicy.args";
/**
* Heartbeat period for the container.
*/
public static final String CONTAINER_HEARTBEAT_PERIOD = "floe.container"
+ ".heartbeat.period";
/**
* Container local folder. Used by both container and flakes.
* Relative to FLOE_EXEC_SCRATCH_FOLDER.
*/
public static final String CONTAINER_LOCAL_FOLDER = "floe.container.local"
+ ".folder";
/**
* Heartbeat period for the container.
*/
public static final String FLAKE_HEARTBEAT_PERIOD = "floe.flake.heartbeat"
+ ".period";
/**
* Flake state checkpoint period.
*/
public static final String FLAKE_STATE_CHECKPOINT_PERIOD
= "floe.flake.statecheckpoint.period";
/**
* FLAKE (re)launch delay.
*/
public static final java.lang.String FLAKE_LAUNCH_DELAY = "floe.fake"
+ ".launch.delay";
/**
* Flake's local folder.
* Relative to CONTAINER_LOCAL_FOLDER
*/
public static final String FLAKE_LOCAL_FOLDER = "floe.flake.local"
+ ".folder";
/**
* Start of the Port range for the flakes to listen on.
*/
public static final String FLAKE_RECEIVER_PORT = "floe.flake.port";
/**
* The period of sending backchannel signals.
*/
public static final String FLAKE_BACKCHANNEL_PERIOD
= "floe.flake.backchannel.period";
/**
* The tolerance level (and replication factor) for the flakes.
*/
public static final java.lang.String FLAKE_TOLERANCE_LEVEL
= "floe.flake.tolerance.level";
/**
* The tuple serializer plugin.
*/
public static final java.lang.String TUPLE_SERIALIZER = "floe.tuple"
+ ".serializer";
/**
* Hostname to be used for connecting to this server.
*/
public static final String HOST_NAME = "floe.container.hostname";
/**
* List of Zookeeper servers.
*/
public static final String ZK_SERVERS = "floe.zk.servers";
/**
* ZK Server port.
*/
public static final String ZK_PORT = "floe.zk.port";
/**
* Zookeeper root folder for FLOE.
* (useful if the same zookeeper ensemble is used for multiple clients).
*/
public static final String ZK_ROOT = "floe.zk.root";
/**
* ZK base retry timeout duration for exponential backoff algorithm.
*/
public static final String ZK_RETRY_TIMEOUT = "floe.zk.retry.timeout";
/**
* ZK number of connection retries.
* After which a new ZK server is selected or a failure is reported.
*/
public static final String ZK_RETRY_ATTEMPTS = "floe.zk.retry.attempts";
/**
* This and following are all the SYSTEM inherited properties.
* These do not appear in the .properties file but are inherited from the
* environment.
* System File Separator '/' in most cases
*/
public static final String SYS_FILE_SEPARATOR = "file.separator";
/**
* To allow user to override the config file from command line.
* TODO: Incoroporate this later.
*/
public static final String SYS_CONFIG_FILE = "floe.config.file";
/**
* System property for pointing to JAVA_HOME.
*/
public static final String SYS_JAVA_HOME = "java.home";
/**
* System property for pointing to JAVA LIBRARY path.
*/
public static final String SYS_JAVA_LIB_PATH = "java.library.path";
/**
* System property for pointing to JAVA LIBRARY path.
*/
public static final String SYS_JAVA_CLASS_PATH = "java.class.path";
/**
* System property for pointing to Path separator.
*/
public static final String SYS_PATH_SEPARATOR = "path.separator";
/**
* Channel/dispersion classes for reducer.
*/
public static final String FLAKE_REDUCER_DISPERSION = "floe.flake"
+ ".messaging.dispersion.reducer";
/**
* Channel/dispersion classes for reducer (local).
*/
public static final String FLAKE_REDUCER_LOCAL_DISPERSION = "floe.flake"
+ ".messaging.dispersion.reducer.local";
/**
* Channel/dispersion classes for round robin.
*/
public static final String FLAKE_RR_DISPERSION = "floe.flake"
+ ".messaging.dispersion.rr";
/**
* Channel/dispersion classes for reducer (local).
*/
public static final String FLAKE_RR_LOCAL_DISPERSION = "floe.flake"
+ ".messaging.dispersion.rr.local";
/**
* Jar containing various custom floe plugins.
*/
public static final String FLOE_PLUGIN_JAR = "floe.flake.plugins.jar";
/**
* Hiding the default constructor.
*/
private ConfigProperties() {
}
}