org.tranche.configuration
Class ConfigKeys

java.lang.Object
  extended by org.tranche.configuration.ConfigKeys

public class ConfigKeys
extends java.lang.Object

A library of attribute key names to use in the server's configuration.

Author:
James "Augie" Hill - augman85@gmail.com, Bryan Smith - bryanesmith@gmail.com

Field Summary
static java.lang.String BUILD_NUMBER
          The version of code the server is running.
static java.lang.String CORRUPTED_DB_ALLOWED_TO_FIX
          Whether the hash span fixing thread should fix corrupt data blocks.
static java.lang.String CORRUPTED_DB_COUNT
          Number of corrupted data blocks.
static java.lang.String CORRUPTED_DB_DOWNLOADED_CHUNK_COUNT
          Number of downloaded chunks as a result of corrupt data blocks.
static java.lang.String CORRUPTED_DB_IN_BODY_COUNT
          Number of discovered corrupt data block bodies.
static java.lang.String CORRUPTED_DB_IN_HEADER_COUNT
          Number of discovered corrupt data block headers.
static java.lang.String CORRUPTED_DB_LOST_CHUNK_COUNT
          Number of lost data chunks as a result of corrupt data blocks.
static java.lang.String CORRUPTED_DB_SALVAGED_CHUNK_COUNT
          Number of fixed chunks as a result of corrupt data blocks.
static java.lang.String CURRENTLY_CONNECTED_USERS
          
static java.lang.String DATABLOCK_FAIL_MERGED
          Total number of failures while merging data blocks.
static java.lang.String DATABLOCK_KNOWN_DATA
          Number of data chunks on the server.
static java.lang.String DATABLOCK_KNOWN_META
          Number of meta data chunks on the server.
static java.lang.String DATABLOCK_KNOWN_PROJECTS
          Number of project meta data on the server.
static java.lang.String DATABLOCK_LOG_DATA_CHUNK_DELETIONS
          Whether or not should record data chunk deletions.
static java.lang.String DATABLOCK_LOG_META_DATA_CHUNK_DELETIONS
          Whether or not should record meta data chunk deletions.
static java.lang.String DATABLOCK_MERGE_QUEUE_SIZE
          How many data blocks are waiting to merge?
static java.lang.String DATABLOCK_SUCCESS_MERGED
          Total number of successfully merged data blocks.
static java.lang.String DATABLOCK_TOTAL_MERGED
          Total number of merged data blocks.
static boolean DEFAULT_LOG_DATA_CHUNK_DELETIONS
          Whether or not should record data chunk deletions by default.
static boolean DEFAULT_LOG_META_DATA_CHUNK_DELETIONS
          Whether or not should record meta data chunk deletions by default.
static int DEFAULT_MIN_SIZE_AVAILABLE_IN_TARGET_DATABLOCK_BEFORE_BALANCE
          Default for for variable: When moving, data block must have this much free space before a move is considered.
static int DEFAULT_NUMBER_TOTAL_REPS_IN_HASH_SPAN_REQUIRED_DELETE
          The default value for config option that specifies the number of replications that are in the correct hash span (i.e., how many other servers have this chunk right now that have the chunk's hash in their hash span).
static int DEFAULT_NUMBER_TOTAL_REPS_REQUIRED_DELETE
          The default value for config option that specified the number of replications required for a chunk to be deleted.
static double DEFAULT_REQUIRED_PERCENTAGE_DIFFERENCE_TO_BALANCE_DATA_DIRECTORIES
          The required difference in percentage between the data directories with least and most available space before transfering.
static double DEFAULT_REQUIRED_PERCENTAGE_FOR_MOST_USED_DATA_DIRECTORY_BEFORE_BALANCE
          The minimum percentage of its available space used by a data directory before it will be a candidate for balancing.
static boolean DEFAULT_SHOULD_HEALING_THREAD_BALANCE_DATA_BLOCKS
          Should the healing thread bother balancing the data blocks? This is the default value.
static boolean DEFAULT_SHOULD_HEALING_THREAD_DELETE
          The default value for config option to allow healing thread to delete chunks with sufficient total replications and sufficient replications in appropriate hash spans.
static boolean DEFAULT_SHOULD_HEALING_THREAD_RUN
          The default value for config option to allow healing thread to run.
static boolean DEFAULT_SHOULD_REPAIR_CORRUPTED_DATA_BLOCKS
          Whether the hash span fixing thread should repair corrupted data blocks.
static java.lang.String FREE_MEMORY
          Free RAM on the server.
static java.lang.String GET_CONFIGURATION_CACHE_TIME
          Time to internally cache configuration used when FlatFileTrancheServer.getConfiguration called.
static java.lang.String GROUP
          The group for the local server.
static java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_BALANCE_DIRECTORIES
          Default key for configuration: how many data blocks to balance at a time.
static java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_DELETE_CHUNKS
          Default key for configuration: how many chunks to check for delete at a time.
static java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_DOWNLOAD_CHUNKS
          Default key for configuration: how many chunks to download at a time.
static java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_HEAL_CHUNKS
          Default key for configuration: how many chunks to check for replication at a time.
static java.lang.String HASHSPANFIX_CURRENT_HASH_SPAN_FIXING_THREAD_ACTIVITY
          What the hash span fixing thread is currently doing.
static java.lang.String HASHSPANFIX_DATA_COPIED
          Number of data chunks copied to the local server by the hash span fixing thread.
static java.lang.String HASHSPANFIX_DATA_DELETED
          Number of data chunks deleted by the hash span fixing thread.
static java.lang.String HASHSPANFIX_DATA_NOT_REPAIRED
          Number of data chunks that could not be repaired by the hash span fixing thread.
static java.lang.String HASHSPANFIX_DATA_REPAIRED
          Number of data chunks repaired by the hash span fixing thread.
static java.lang.String HASHSPANFIX_DATA_SKIPPED
          Number of data chunks passed over by the hash span fixing thread.
static java.lang.String HASHSPANFIX_DATA_THREW_EXCEPTION
          Number of times an exception was thrown by the hash span fixing thread while working with data chunks.
static java.lang.String HASHSPANFIX_DELETE_ITS
          Number of hash span fixing thread delete iterations that have occurred since server startup.
static java.lang.String HASHSPANFIX_INDEX_DELETE_DATA
           
static java.lang.String HASHSPANFIX_INDEX_DELETE_META_DATA
           
static java.lang.String HASHSPANFIX_INDEX_DOWNLOAD_DATA
           
static java.lang.String HASHSPANFIX_INDEX_DOWNLOAD_META_DATA
           
static java.lang.String HASHSPANFIX_INDEX_REPAIR_DATA
           
static java.lang.String HASHSPANFIX_INDEX_REPAIR_META_DATA
           
static java.lang.String HASHSPANFIX_IT_COUNT
          Number of hash span fixing thread iterations that have occurred since server startup.
static java.lang.String HASHSPANFIX_META_COPIED
          Number of meta data chunks copied to the local server by the hash span fixing thread.
static java.lang.String HASHSPANFIX_META_DELETED
          Number of meta data chunks deleted by the hash span fixing thread.
static java.lang.String HASHSPANFIX_META_NOT_REPAIRED
          Number of meta data chunks that could not be repaired by the hash span fixing thread.
static java.lang.String HASHSPANFIX_META_REPAIRED
          Number of meta data chunks repaired by the hash span fixing thread.
static java.lang.String HASHSPANFIX_META_SKIPPED
          Number of meta data chunks passed over by the hash span fixing thread.
static java.lang.String HASHSPANFIX_META_THREW_EXCEPTION
          Number of times an exception was thrown by the hash span fixing thread while working with meta data chunks.
static java.lang.String HASHSPANFIX_NUMBER_REPS_IN_HASH_SPAN_REQUIRED_DELETE
          Default key for configuration: set integer for total number of replications across network in an appropriate hash span before performing a delete.
static java.lang.String HASHSPANFIX_NUMBER_REPS_REQUIRED_DELETE
          Default key for configuration: set integer for total number of replications across network before performing a delete.
static java.lang.String HASHSPANFIX_PAUSE_MILLIS
          Set a time to pause, in millis, after every single operation in the healing thread.
static java.lang.String HASHSPANFIX_PERCEIVED_DISK_USE_STATE
          The heuristic-driven estimate of current disk usage for server.
static java.lang.String HASHSPANFIX_PERFORMANCE_SCORE
          The weighted score of how much work the healing thread has done.
static java.lang.String HASHSPANFIX_REPAIR_ITS
          Number of hash span fixing thread repair iterations that have occurred since server startup.
static java.lang.String HASHSPANFIX_REQUIRED_MIN_USED_BYTES_IN_MAX_DATABLOCK_TO_BALANCE_DATA_DIRECTORIES
           
static java.lang.String HASHSPANFIX_REQUIRED_PERCENTAGE_DIFFERENCE_TO_BALANCE_DATA_DIRECTORIES
          The required difference in percentage between the data directories with least and most available space before transfering.
static java.lang.String HASHSPANFIX_REQUIRED_PERCENTAGE_FOR_MOST_USED_DATA_DIRECTORY_BEFORE_BALANCE
          The minimum percentage of its available space used by a data directory before it will be a candidate for balancing.
static java.lang.String HASHSPANFIX_SERVER_BEING_CHECKED
          The server the hash span fixing thread is currently being worked on.
static java.lang.String HASHSPANFIX_SERVER_HOSTS_TO_USE
          A comma-separated list of tranche servers to use in the hash span fixing thread.
static java.lang.String HASHSPANFIX_SHOULD_HEALING_THREAD_BALANCE
          Default key for configuration: if true, the healing thread will balance the data between data directories.
static java.lang.String HASHSPANFIX_SHOULD_HEALING_THREAD_DELETE
          Default key for configuration: if set to false, healing thread won't delete anything until true.
static java.lang.String HASHSPANFIX_SHOULD_HEALING_THREAD_RUN
          Default key for configuration: if set to false, healing thread suspends until true.
static java.lang.String HASHSPANFIX_TIME_SPENT_BALANCING
          How much time the hash span fixing thread has spent balancing data directories.
static java.lang.String HASHSPANFIX_TIME_SPENT_DELETING
          How much time the hash span fixing thread has spent deleting.
static java.lang.String HASHSPANFIX_TIME_SPENT_DOING_NOTHING
          How much time the hash span fixing thread has spent doing nothing.
static java.lang.String HASHSPANFIX_TIME_SPENT_DOWNLOADING
          How much time the hash span fixing thread has spent downloading.
static java.lang.String HASHSPANFIX_TIME_SPENT_HEALING
          How much time the hash span fixing thread has spent healing.
static java.lang.String HASHSPANFIX_TOTAL_DATABLOCKS_MOVED_TO_BALANCE
          
static java.lang.String IS_SERVER_READ_ONLY
          Deprecated. Use SERVER_MODE_FLAG instead.
static java.lang.String IS_SERVER_WRITE_ONLY
          Deprecated. Use SERVER_MODE_FLAG instead.
static java.lang.String MIRROR_EVERY_UPLOAD
          If set to "true", this server will always have highest priority in servers the client uploads to.
static java.lang.String NAME
          The name for the local server.
static java.lang.String NONCE_MAP_MAX_SIZE
          Configuration key for maximum number of nonce maps.
static java.lang.String REMOTE_SERVER_CALLBACKS
          Keeps track of server-side callbacks.
static java.lang.String REQUESTS_COUNT_BATCH_GET_DATA
           
static java.lang.String REQUESTS_COUNT_BATCH_GET_META_DATA
           
static java.lang.String REQUESTS_COUNT_BATCH_HAS_DATA
           
static java.lang.String REQUESTS_COUNT_BATCH_HAS_META_DATA
           
static java.lang.String REQUESTS_COUNT_BATCH_SET_DATA
           
static java.lang.String REQUESTS_COUNT_BATCH_SET_META_DATA
           
static java.lang.String REQUESTS_COUNT_DELETE_DATA
           
static java.lang.String REQUESTS_COUNT_DELETE_META_DATA
           
static java.lang.String REQUESTS_COUNT_GET_CONFIGURATION
           
static java.lang.String REQUESTS_COUNT_GET_DATA
           
static java.lang.String REQUESTS_COUNT_GET_DATA_HASHES
           
static java.lang.String REQUESTS_COUNT_GET_HASHES
           
static java.lang.String REQUESTS_COUNT_GET_KNOWN_SERVERS
           
static java.lang.String REQUESTS_COUNT_GET_META_DATA
           
static java.lang.String REQUESTS_COUNT_GET_META_DATA_HASHES
           
static java.lang.String REQUESTS_COUNT_GET_NONCE
           
static java.lang.String REQUESTS_COUNT_GET_NONCES
           
static java.lang.String REQUESTS_COUNT_GET_PROJECT_HASHES
           
static java.lang.String REQUESTS_COUNT_HAS_DATA
           
static java.lang.String REQUESTS_COUNT_HAS_META_DATA
           
static java.lang.String REQUESTS_COUNT_SET_CONFIGURATION
           
static java.lang.String REQUESTS_COUNT_SET_DATA
           
static java.lang.String REQUESTS_COUNT_SET_META_DATA
           
static java.lang.String ROUTING_DATA_SERVERS_HOST_LIST
          RoutingTrancheServer variables
static java.lang.String SERVER_EXCEPTION_LIST_HOSTS_TO_NOT_TRUST
          A comma-separately list of servers to not trust.
static java.lang.String SERVER_EXCEPTION_LIST_HOSTS_TO_TRUST
          A comma-separately list of servers to trust.
static java.lang.String SERVER_HOST_OVERRIDE
          An ip/hostname that manually overrides
static java.lang.String SERVER_MODE_DESCRIPTION_ADMIN
          Human-readable information about server mode.
static java.lang.String SERVER_MODE_DESCRIPTION_SYSTEM
          Human-readable information about server mode.
static java.lang.String SERVER_MODE_FLAG_ADMIN
          Set flag byte for server to signify what permissions clients have regarding reading, writing, etc.
static java.lang.String SERVER_MODE_FLAG_SYSTEM
          Set flag byte for server to signify what permissions clients have regarding reading, writing, etc.
static java.lang.String SERVER_STARTUP_THREAD_STATUS
          ServerStartupThread variables
static java.lang.String TARGET_HASH_SPAN_THREAD_MESSAGE
          Any messages from TargetHashSpanThread about its progress.
static java.lang.String TARGET_HASH_SPAN_THREAD_WORKING
          True if TargetHashSpanThread is busy running.
static java.lang.String TEST_NO_DISPLAY
          Used for testing GUI to make sure hidden items are not displayed.
static java.lang.String TOTAL_MEMORY
          Total RAM on the server.
static java.lang.String TOTAL_SIZE
          Human-readable aggregate size of all space allotted to DDCs.
static java.lang.String TOTAL_SIZE_UNUSED
          Human-readable aggregate size of all space allotted to DDCs.
static java.lang.String TOTAL_SIZE_USED
          Human-readable aggregate size of all space allotted to DDCs.
static java.lang.String URL
          The URL for the local server.
 
Constructor Summary
ConfigKeys()
           
 
Method Summary
static boolean isDeletable(java.lang.String key)
          Whether a configuration attribute should be deletable by the administrator.
static boolean isEditable(java.lang.String key)
          Whether a configuration attribute should be editable by the administrator.
static boolean isReadable(java.lang.String key)
          Whether a configuration attribute should be readable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUILD_NUMBER

public static final java.lang.String BUILD_NUMBER

The version of code the server is running.

See Also:
Constant Field Values

TARGET_HASH_SPAN_THREAD_WORKING

public static final java.lang.String TARGET_HASH_SPAN_THREAD_WORKING

True if TargetHashSpanThread is busy running.

See Also:
Constant Field Values

TARGET_HASH_SPAN_THREAD_MESSAGE

public static final java.lang.String TARGET_HASH_SPAN_THREAD_MESSAGE

Any messages from TargetHashSpanThread about its progress. Totally arbitrary.

See Also:
Constant Field Values

DEFAULT_SHOULD_HEALING_THREAD_RUN

public static final boolean DEFAULT_SHOULD_HEALING_THREAD_RUN

The default value for config option to allow healing thread to run.

If set to false by user in configuration, the thread will suspend until set back to true.

See Also:
Constant Field Values

DEFAULT_SHOULD_HEALING_THREAD_DELETE

public static final boolean DEFAULT_SHOULD_HEALING_THREAD_DELETE

The default value for config option to allow healing thread to delete chunks with sufficient total replications and sufficient replications in appropriate hash spans.

If set to false by user in configuration, the thread will not perform any deletes.

See Also:
Constant Field Values

DEFAULT_NUMBER_TOTAL_REPS_REQUIRED_DELETE

public static final int DEFAULT_NUMBER_TOTAL_REPS_REQUIRED_DELETE

The default value for config option that specified the number of replications required for a chunk to be deleted.

A chunk will only be deleted if it is out of its hash span and there are enough copies on the network (specified by this variable). Furthermore, there must also be enough copies in the appropriate hash span, which is specified in DEFAULT_NUMBER_TOTAL_REPS_IN_HASH_SPAN_REQUIRED_DELETE

See Also:
Constant Field Values

DEFAULT_NUMBER_TOTAL_REPS_IN_HASH_SPAN_REQUIRED_DELETE

public static final int DEFAULT_NUMBER_TOTAL_REPS_IN_HASH_SPAN_REQUIRED_DELETE

The default value for config option that specifies the number of replications that are in the correct hash span (i.e., how many other servers have this chunk right now that have the chunk's hash in their hash span).

A chunk will only be deleted if it is out of its hash span and there are enough total copies on the network (see DEFAULT_NUMBER_TOTAL_REPS_REQUIRED_DELETE), along with enough copies in the appropriate hash span.

See Also:
Constant Field Values

DEFAULT_SHOULD_HEALING_THREAD_BALANCE_DATA_BLOCKS

public static final boolean DEFAULT_SHOULD_HEALING_THREAD_BALANCE_DATA_BLOCKS

Should the healing thread bother balancing the data blocks? This is the default value.

See Also:
Constant Field Values

DEFAULT_MIN_SIZE_AVAILABLE_IN_TARGET_DATABLOCK_BEFORE_BALANCE

public static final int DEFAULT_MIN_SIZE_AVAILABLE_IN_TARGET_DATABLOCK_BEFORE_BALANCE

Default for for variable: When moving, data block must have this much free space before a move is considered.

See Also:
Constant Field Values

DEFAULT_REQUIRED_PERCENTAGE_DIFFERENCE_TO_BALANCE_DATA_DIRECTORIES

public static final double DEFAULT_REQUIRED_PERCENTAGE_DIFFERENCE_TO_BALANCE_DATA_DIRECTORIES

The required difference in percentage between the data directories with least and most available space before transfering.

This only matters if healing thread is set to auto balance.

Note that host the calculation is determined:

  1. Find data directory with most available space: Must have at least 1GB of space available (the size of 10 full DataBlock's). Calculate percentage of its available space is used.
  2. Find data directory with least available space: Calculate percentage of its available space is used. Must meet user-defined minimum used percentage of its space.
  3. Subtract the percentage difference of the least from the most: if difference meets required minimum difference, the data will be moved from one to the other.

Note should always be a positive value less than 100.00. Anything else will be ignored by healing thread.

See Also:
Constant Field Values

DEFAULT_REQUIRED_PERCENTAGE_FOR_MOST_USED_DATA_DIRECTORY_BEFORE_BALANCE

public static final double DEFAULT_REQUIRED_PERCENTAGE_FOR_MOST_USED_DATA_DIRECTORY_BEFORE_BALANCE

The minimum percentage of its available space used by a data directory before it will be a candidate for balancing. This sets a threshold before data will be moved away toward other data blocks.

This only matters if healing thread is set to auto balance.

Note that this does not guarentee that data will be moved to other data directories. Three additional criteria must be met:

Note should always be a positive value less than 100.00. Anything else will be ignored by healing thread.

See Also:
Constant Field Values

DEFAULT_LOG_META_DATA_CHUNK_DELETIONS

public static final boolean DEFAULT_LOG_META_DATA_CHUNK_DELETIONS

Whether or not should record meta data chunk deletions by default.

See Also:
Constant Field Values

DEFAULT_LOG_DATA_CHUNK_DELETIONS

public static final boolean DEFAULT_LOG_DATA_CHUNK_DELETIONS

Whether or not should record data chunk deletions by default.

See Also:
Constant Field Values

TEST_NO_DISPLAY

public static final java.lang.String TEST_NO_DISPLAY

Used for testing GUI to make sure hidden items are not displayed.

See Also:
Constant Field Values

URL

public static final java.lang.String URL

The URL for the local server.

See Also:
Constant Field Values

NAME

public static final java.lang.String NAME

The name for the local server.

See Also:
Constant Field Values

GROUP

public static final java.lang.String GROUP

The group for the local server.

See Also:
Constant Field Values

CURRENTLY_CONNECTED_USERS

public static final java.lang.String CURRENTLY_CONNECTED_USERS

See Also:
Constant Field Values

SERVER_EXCEPTION_LIST_HOSTS_TO_TRUST

public static final java.lang.String SERVER_EXCEPTION_LIST_HOSTS_TO_TRUST

A comma-separately list of servers to trust.

This is useful when a core server was added to network, but have not been able to push servers list yet.

See Also:
Constant Field Values

SERVER_EXCEPTION_LIST_HOSTS_TO_NOT_TRUST

public static final java.lang.String SERVER_EXCEPTION_LIST_HOSTS_TO_NOT_TRUST

A comma-separately list of servers to not trust.

This is useful when a core server is problematic and should no longer be trusted by this server.

See Also:
Constant Field Values

MIRROR_EVERY_UPLOAD

public static final java.lang.String MIRROR_EVERY_UPLOAD

If set to "true", this server will always have highest priority in servers the client uploads to.

See Also:
Constant Field Values

SERVER_HOST_OVERRIDE

public static final java.lang.String SERVER_HOST_OVERRIDE

An ip/hostname that manually overrides

See Also:
Constant Field Values

SERVER_MODE_FLAG_SYSTEM

public static final java.lang.String SERVER_MODE_FLAG_SYSTEM

Set flag byte for server to signify what permissions clients have regarding reading, writing, etc.

See Also:
Constant Field Values

SERVER_MODE_DESCRIPTION_SYSTEM

public static final java.lang.String SERVER_MODE_DESCRIPTION_SYSTEM

Human-readable information about server mode.

Note that this is not a modifiable attribute; it is set automatically and cannot be changed. To change the mode, see SERVER_MODE_FLAG.

See Also:
Constant Field Values

SERVER_MODE_FLAG_ADMIN

public static final java.lang.String SERVER_MODE_FLAG_ADMIN

Set flag byte for server to signify what permissions clients have regarding reading, writing, etc.

See Also:
Constant Field Values

SERVER_MODE_DESCRIPTION_ADMIN

public static final java.lang.String SERVER_MODE_DESCRIPTION_ADMIN

Human-readable information about server mode.

Note that this is not a modifiable attribute; it is set automatically and cannot be changed. To change the mode, see SERVER_MODE_FLAG.

See Also:
Constant Field Values

IS_SERVER_READ_ONLY

public static final java.lang.String IS_SERVER_READ_ONLY
Deprecated. Use SERVER_MODE_FLAG instead.

If set to "true", this server will be read-only.

See Also:
Constant Field Values

IS_SERVER_WRITE_ONLY

public static final java.lang.String IS_SERVER_WRITE_ONLY
Deprecated. Use SERVER_MODE_FLAG instead.

If set to "true", this server will be write-only.

See Also:
Constant Field Values

HASHSPANFIX_INDEX_DELETE_DATA

public static final java.lang.String HASHSPANFIX_INDEX_DELETE_DATA
See Also:
Constant Field Values

HASHSPANFIX_INDEX_DELETE_META_DATA

public static final java.lang.String HASHSPANFIX_INDEX_DELETE_META_DATA
See Also:
Constant Field Values

HASHSPANFIX_INDEX_DOWNLOAD_DATA

public static final java.lang.String HASHSPANFIX_INDEX_DOWNLOAD_DATA
See Also:
Constant Field Values

HASHSPANFIX_INDEX_DOWNLOAD_META_DATA

public static final java.lang.String HASHSPANFIX_INDEX_DOWNLOAD_META_DATA
See Also:
Constant Field Values

HASHSPANFIX_INDEX_REPAIR_DATA

public static final java.lang.String HASHSPANFIX_INDEX_REPAIR_DATA
See Also:
Constant Field Values

HASHSPANFIX_INDEX_REPAIR_META_DATA

public static final java.lang.String HASHSPANFIX_INDEX_REPAIR_META_DATA
See Also:
Constant Field Values

HASHSPANFIX_PERFORMANCE_SCORE

public static final java.lang.String HASHSPANFIX_PERFORMANCE_SCORE

The weighted score of how much work the healing thread has done.

See Also:
Constant Field Values

HASHSPANFIX_PERCEIVED_DISK_USE_STATE

public static final java.lang.String HASHSPANFIX_PERCEIVED_DISK_USE_STATE

The heuristic-driven estimate of current disk usage for server.

See Also:
Constant Field Values

HASHSPANFIX_SERVER_HOSTS_TO_USE

public static final java.lang.String HASHSPANFIX_SERVER_HOSTS_TO_USE

A comma-separated list of tranche servers to use in the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_SHOULD_HEALING_THREAD_RUN

public static final java.lang.String HASHSPANFIX_SHOULD_HEALING_THREAD_RUN

Default key for configuration: if set to false, healing thread suspends until true.

See Also:
Constant Field Values

HASHSPANFIX_SHOULD_HEALING_THREAD_DELETE

public static final java.lang.String HASHSPANFIX_SHOULD_HEALING_THREAD_DELETE

Default key for configuration: if set to false, healing thread won't delete anything until true.

See Also:
Constant Field Values

HASHSPANFIX_SHOULD_HEALING_THREAD_BALANCE

public static final java.lang.String HASHSPANFIX_SHOULD_HEALING_THREAD_BALANCE

Default key for configuration: if true, the healing thread will balance the data between data directories. Else will not.

See Also:
Constant Field Values

HASHSPANFIX_REQUIRED_MIN_USED_BYTES_IN_MAX_DATABLOCK_TO_BALANCE_DATA_DIRECTORIES

public static final java.lang.String HASHSPANFIX_REQUIRED_MIN_USED_BYTES_IN_MAX_DATABLOCK_TO_BALANCE_DATA_DIRECTORIES
See Also:
Constant Field Values

HASHSPANFIX_REQUIRED_PERCENTAGE_DIFFERENCE_TO_BALANCE_DATA_DIRECTORIES

public static final java.lang.String HASHSPANFIX_REQUIRED_PERCENTAGE_DIFFERENCE_TO_BALANCE_DATA_DIRECTORIES

The required difference in percentage between the data directories with least and most available space before transfering.

This only matters if healing thread is set to auto balance.

Note that host the calculation is determined:

  1. Find data directory with most available space: Must have at least 1GB of space available (the size of 10 full DataBlock's). Calculate percentage of its available space is used.
  2. Find data directory with least available space: Calculate percentage of its available space is used. Must meet user-defined minimum used percentage of its space.
  3. Subtract the percentage difference of the least from the most: if difference meets required minimum difference, the data will be moved from one to the other.

Note should always be a positive value less than 100.00. Any range out of value will be ignored in favor of default.

See Also:
Constant Field Values

HASHSPANFIX_REQUIRED_PERCENTAGE_FOR_MOST_USED_DATA_DIRECTORY_BEFORE_BALANCE

public static final java.lang.String HASHSPANFIX_REQUIRED_PERCENTAGE_FOR_MOST_USED_DATA_DIRECTORY_BEFORE_BALANCE

The minimum percentage of its available space used by a data directory before it will be a candidate for balancing. This sets a threshold before data will be moved away toward other data blocks.

This only matters if healing thread is set to auto balance.

Note that this does not guarentee that data will be moved to other data directories. Three additional criteria must be met:

Note should always be a positive value less than 100.00. Any range out of value will be ignored in favor of default.

See Also:
Constant Field Values

HASHSPANFIX_TOTAL_DATABLOCKS_MOVED_TO_BALANCE

public static final java.lang.String HASHSPANFIX_TOTAL_DATABLOCKS_MOVED_TO_BALANCE

See Also:
Constant Field Values

HASHSPANFIX_NUMBER_REPS_REQUIRED_DELETE

public static final java.lang.String HASHSPANFIX_NUMBER_REPS_REQUIRED_DELETE

Default key for configuration: set integer for total number of replications across network before performing a delete.

See Also:
Constant Field Values

HASHSPANFIX_NUMBER_REPS_IN_HASH_SPAN_REQUIRED_DELETE

public static final java.lang.String HASHSPANFIX_NUMBER_REPS_IN_HASH_SPAN_REQUIRED_DELETE

Default key for configuration: set integer for total number of replications across network in an appropriate hash span before performing a delete.

See Also:
Constant Field Values

HASHSPANFIX_BATCH_SIZE_FOR_DOWNLOAD_CHUNKS

public static final java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_DOWNLOAD_CHUNKS

Default key for configuration: how many chunks to download at a time.

See Also:
Constant Field Values

HASHSPANFIX_BATCH_SIZE_FOR_DELETE_CHUNKS

public static final java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_DELETE_CHUNKS

Default key for configuration: how many chunks to check for delete at a time.

See Also:
Constant Field Values

HASHSPANFIX_BATCH_SIZE_FOR_HEAL_CHUNKS

public static final java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_HEAL_CHUNKS

Default key for configuration: how many chunks to check for replication at a time.

See Also:
Constant Field Values

HASHSPANFIX_BATCH_SIZE_FOR_BALANCE_DIRECTORIES

public static final java.lang.String HASHSPANFIX_BATCH_SIZE_FOR_BALANCE_DIRECTORIES

Default key for configuration: how many data blocks to balance at a time.

See Also:
Constant Field Values

HASHSPANFIX_CURRENT_HASH_SPAN_FIXING_THREAD_ACTIVITY

public static final java.lang.String HASHSPANFIX_CURRENT_HASH_SPAN_FIXING_THREAD_ACTIVITY

What the hash span fixing thread is currently doing.

See Also:
Constant Field Values

HASHSPANFIX_TIME_SPENT_DOING_NOTHING

public static final java.lang.String HASHSPANFIX_TIME_SPENT_DOING_NOTHING

How much time the hash span fixing thread has spent doing nothing.

See Also:
Constant Field Values

HASHSPANFIX_TIME_SPENT_DELETING

public static final java.lang.String HASHSPANFIX_TIME_SPENT_DELETING

How much time the hash span fixing thread has spent deleting.

See Also:
Constant Field Values

HASHSPANFIX_TIME_SPENT_HEALING

public static final java.lang.String HASHSPANFIX_TIME_SPENT_HEALING

How much time the hash span fixing thread has spent healing.

See Also:
Constant Field Values

HASHSPANFIX_TIME_SPENT_BALANCING

public static final java.lang.String HASHSPANFIX_TIME_SPENT_BALANCING

How much time the hash span fixing thread has spent balancing data directories.

See Also:
Constant Field Values

HASHSPANFIX_TIME_SPENT_DOWNLOADING

public static final java.lang.String HASHSPANFIX_TIME_SPENT_DOWNLOADING

How much time the hash span fixing thread has spent downloading.

See Also:
Constant Field Values

HASHSPANFIX_DATA_COPIED

public static final java.lang.String HASHSPANFIX_DATA_COPIED

Number of data chunks copied to the local server by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_DATA_SKIPPED

public static final java.lang.String HASHSPANFIX_DATA_SKIPPED

Number of data chunks passed over by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_DATA_DELETED

public static final java.lang.String HASHSPANFIX_DATA_DELETED

Number of data chunks deleted by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_DATA_REPAIRED

public static final java.lang.String HASHSPANFIX_DATA_REPAIRED

Number of data chunks repaired by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_DATA_NOT_REPAIRED

public static final java.lang.String HASHSPANFIX_DATA_NOT_REPAIRED

Number of data chunks that could not be repaired by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_DATA_THREW_EXCEPTION

public static final java.lang.String HASHSPANFIX_DATA_THREW_EXCEPTION

Number of times an exception was thrown by the hash span fixing thread while working with data chunks.

See Also:
Constant Field Values

HASHSPANFIX_META_COPIED

public static final java.lang.String HASHSPANFIX_META_COPIED

Number of meta data chunks copied to the local server by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_META_SKIPPED

public static final java.lang.String HASHSPANFIX_META_SKIPPED

Number of meta data chunks passed over by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_META_DELETED

public static final java.lang.String HASHSPANFIX_META_DELETED

Number of meta data chunks deleted by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_META_REPAIRED

public static final java.lang.String HASHSPANFIX_META_REPAIRED

Number of meta data chunks repaired by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_META_NOT_REPAIRED

public static final java.lang.String HASHSPANFIX_META_NOT_REPAIRED

Number of meta data chunks that could not be repaired by the hash span fixing thread.

See Also:
Constant Field Values

HASHSPANFIX_META_THREW_EXCEPTION

public static final java.lang.String HASHSPANFIX_META_THREW_EXCEPTION

Number of times an exception was thrown by the hash span fixing thread while working with meta data chunks.

See Also:
Constant Field Values

HASHSPANFIX_IT_COUNT

public static final java.lang.String HASHSPANFIX_IT_COUNT

Number of hash span fixing thread iterations that have occurred since server startup.

See Also:
Constant Field Values

HASHSPANFIX_SERVER_BEING_CHECKED

public static final java.lang.String HASHSPANFIX_SERVER_BEING_CHECKED

The server the hash span fixing thread is currently being worked on.

See Also:
Constant Field Values

HASHSPANFIX_REPAIR_ITS

public static final java.lang.String HASHSPANFIX_REPAIR_ITS

Number of hash span fixing thread repair iterations that have occurred since server startup.

See Also:
Constant Field Values

HASHSPANFIX_DELETE_ITS

public static final java.lang.String HASHSPANFIX_DELETE_ITS

Number of hash span fixing thread delete iterations that have occurred since server startup.

See Also:
Constant Field Values

FREE_MEMORY

public static final java.lang.String FREE_MEMORY

Free RAM on the server.

See Also:
Constant Field Values

TOTAL_MEMORY

public static final java.lang.String TOTAL_MEMORY

Total RAM on the server.

See Also:
Constant Field Values

DATABLOCK_KNOWN_DATA

public static final java.lang.String DATABLOCK_KNOWN_DATA

Number of data chunks on the server.

See Also:
Constant Field Values

DATABLOCK_KNOWN_META

public static final java.lang.String DATABLOCK_KNOWN_META

Number of meta data chunks on the server.

See Also:
Constant Field Values

DATABLOCK_LOG_DATA_CHUNK_DELETIONS

public static final java.lang.String DATABLOCK_LOG_DATA_CHUNK_DELETIONS

Whether or not should record data chunk deletions.

See Also:
Constant Field Values

DATABLOCK_LOG_META_DATA_CHUNK_DELETIONS

public static final java.lang.String DATABLOCK_LOG_META_DATA_CHUNK_DELETIONS

Whether or not should record meta data chunk deletions.

See Also:
Constant Field Values

DATABLOCK_KNOWN_PROJECTS

public static final java.lang.String DATABLOCK_KNOWN_PROJECTS

Number of project meta data on the server.

See Also:
Constant Field Values

NONCE_MAP_MAX_SIZE

public static final java.lang.String NONCE_MAP_MAX_SIZE

Configuration key for maximum number of nonce maps.

See Also:
Constant Field Values

DATABLOCK_MERGE_QUEUE_SIZE

public static final java.lang.String DATABLOCK_MERGE_QUEUE_SIZE

How many data blocks are waiting to merge?

See Also:
Constant Field Values

DATABLOCK_TOTAL_MERGED

public static final java.lang.String DATABLOCK_TOTAL_MERGED

Total number of merged data blocks. Might not be same as success + failures if error during finally block.

See Also:
Constant Field Values

DATABLOCK_SUCCESS_MERGED

public static final java.lang.String DATABLOCK_SUCCESS_MERGED

Total number of successfully merged data blocks.

See Also:
Constant Field Values

DATABLOCK_FAIL_MERGED

public static final java.lang.String DATABLOCK_FAIL_MERGED

Total number of failures while merging data blocks.

See Also:
Constant Field Values

TOTAL_SIZE

public static final java.lang.String TOTAL_SIZE

Human-readable aggregate size of all space allotted to DDCs.

See Also:
Constant Field Values

TOTAL_SIZE_USED

public static final java.lang.String TOTAL_SIZE_USED

Human-readable aggregate size of all space allotted to DDCs.

See Also:
Constant Field Values

TOTAL_SIZE_UNUSED

public static final java.lang.String TOTAL_SIZE_UNUSED

Human-readable aggregate size of all space allotted to DDCs.

See Also:
Constant Field Values

GET_CONFIGURATION_CACHE_TIME

public static final java.lang.String GET_CONFIGURATION_CACHE_TIME

Time to internally cache configuration used when FlatFileTrancheServer.getConfiguration called.

Updating configuration is an expensive process, and caching saves time.

See Also:
Constant Field Values

HASHSPANFIX_PAUSE_MILLIS

public static final java.lang.String HASHSPANFIX_PAUSE_MILLIS

Set a time to pause, in millis, after every single operation in the healing thread.

See Also:
Constant Field Values

REMOTE_SERVER_CALLBACKS

public static final java.lang.String REMOTE_SERVER_CALLBACKS

Keeps track of server-side callbacks. These will generally happen on the healing thread, though there could be other possibilities.

See Also:
Constant Field Values

CORRUPTED_DB_ALLOWED_TO_FIX

public static final java.lang.String CORRUPTED_DB_ALLOWED_TO_FIX

Whether the hash span fixing thread should fix corrupt data blocks.

See Also:
Constant Field Values

CORRUPTED_DB_COUNT

public static final java.lang.String CORRUPTED_DB_COUNT

Number of corrupted data blocks.

See Also:
Constant Field Values

CORRUPTED_DB_SALVAGED_CHUNK_COUNT

public static final java.lang.String CORRUPTED_DB_SALVAGED_CHUNK_COUNT

Number of fixed chunks as a result of corrupt data blocks.

See Also:
Constant Field Values

CORRUPTED_DB_DOWNLOADED_CHUNK_COUNT

public static final java.lang.String CORRUPTED_DB_DOWNLOADED_CHUNK_COUNT

Number of downloaded chunks as a result of corrupt data blocks.

See Also:
Constant Field Values

CORRUPTED_DB_LOST_CHUNK_COUNT

public static final java.lang.String CORRUPTED_DB_LOST_CHUNK_COUNT

Number of lost data chunks as a result of corrupt data blocks.

See Also:
Constant Field Values

CORRUPTED_DB_IN_HEADER_COUNT

public static final java.lang.String CORRUPTED_DB_IN_HEADER_COUNT

Number of discovered corrupt data block headers.

See Also:
Constant Field Values

CORRUPTED_DB_IN_BODY_COUNT

public static final java.lang.String CORRUPTED_DB_IN_BODY_COUNT

Number of discovered corrupt data block bodies.

See Also:
Constant Field Values

REQUESTS_COUNT_GET_NONCE

public static final java.lang.String REQUESTS_COUNT_GET_NONCE
See Also:
Constant Field Values

REQUESTS_COUNT_GET_NONCES

public static final java.lang.String REQUESTS_COUNT_GET_NONCES
See Also:
Constant Field Values

REQUESTS_COUNT_GET_DATA_HASHES

public static final java.lang.String REQUESTS_COUNT_GET_DATA_HASHES
See Also:
Constant Field Values

REQUESTS_COUNT_GET_META_DATA_HASHES

public static final java.lang.String REQUESTS_COUNT_GET_META_DATA_HASHES
See Also:
Constant Field Values

REQUESTS_COUNT_GET_HASHES

public static final java.lang.String REQUESTS_COUNT_GET_HASHES
See Also:
Constant Field Values

REQUESTS_COUNT_GET_DATA

public static final java.lang.String REQUESTS_COUNT_GET_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_HAS_DATA

public static final java.lang.String REQUESTS_COUNT_HAS_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_BATCH_HAS_DATA

public static final java.lang.String REQUESTS_COUNT_BATCH_HAS_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_HAS_META_DATA

public static final java.lang.String REQUESTS_COUNT_HAS_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_BATCH_HAS_META_DATA

public static final java.lang.String REQUESTS_COUNT_BATCH_HAS_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_GET_META_DATA

public static final java.lang.String REQUESTS_COUNT_GET_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_SET_DATA

public static final java.lang.String REQUESTS_COUNT_SET_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_BATCH_SET_DATA

public static final java.lang.String REQUESTS_COUNT_BATCH_SET_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_BATCH_SET_META_DATA

public static final java.lang.String REQUESTS_COUNT_BATCH_SET_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_BATCH_GET_DATA

public static final java.lang.String REQUESTS_COUNT_BATCH_GET_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_BATCH_GET_META_DATA

public static final java.lang.String REQUESTS_COUNT_BATCH_GET_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_SET_META_DATA

public static final java.lang.String REQUESTS_COUNT_SET_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_DELETE_META_DATA

public static final java.lang.String REQUESTS_COUNT_DELETE_META_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_DELETE_DATA

public static final java.lang.String REQUESTS_COUNT_DELETE_DATA
See Also:
Constant Field Values

REQUESTS_COUNT_GET_CONFIGURATION

public static final java.lang.String REQUESTS_COUNT_GET_CONFIGURATION
See Also:
Constant Field Values

REQUESTS_COUNT_SET_CONFIGURATION

public static final java.lang.String REQUESTS_COUNT_SET_CONFIGURATION
See Also:
Constant Field Values

REQUESTS_COUNT_GET_PROJECT_HASHES

public static final java.lang.String REQUESTS_COUNT_GET_PROJECT_HASHES
See Also:
Constant Field Values

REQUESTS_COUNT_GET_KNOWN_SERVERS

public static final java.lang.String REQUESTS_COUNT_GET_KNOWN_SERVERS
See Also:
Constant Field Values

SERVER_STARTUP_THREAD_STATUS

public static final java.lang.String SERVER_STARTUP_THREAD_STATUS
ServerStartupThread variables

See Also:
Constant Field Values

ROUTING_DATA_SERVERS_HOST_LIST

public static final java.lang.String ROUTING_DATA_SERVERS_HOST_LIST
RoutingTrancheServer variables

See Also:
Constant Field Values

DEFAULT_SHOULD_REPAIR_CORRUPTED_DATA_BLOCKS

public static final boolean DEFAULT_SHOULD_REPAIR_CORRUPTED_DATA_BLOCKS

Whether the hash span fixing thread should repair corrupted data blocks.

See Also:
Constant Field Values
Constructor Detail

ConfigKeys

public ConfigKeys()
Method Detail

isEditable

public static boolean isEditable(java.lang.String key)

Whether a configuration attribute should be editable by the administrator. For example, status attributes like free memory should not be editable.

Parameters:
key -
Returns:

isDeletable

public static boolean isDeletable(java.lang.String key)

Whether a configuration attribute should be deletable by the administrator. For example, status attributes like free memory should not be deletable.

Parameters:
key -
Returns:

isReadable

public static boolean isReadable(java.lang.String key)

Whether a configuration attribute should be readable. This is not a secure way to hide sensative information, but can set something to be not readable if doesn't need to be displayed.

Parameters:
key -
Returns:


This code is free for use both commercially and non-commercially as stated in the project's license