com.bigdata.service
Interface LoadBalancerService.Options

All Known Subinterfaces:
LoadBalancerServer.Options
Enclosing class:
LoadBalancerService

public static interface LoadBalancerService.Options

Options understood by the LoadBalancerService.

Version:
$Id: LoadBalancerService.java 6194 2012-03-27 14:14:52Z thompsonbry $
Author:
Bryan Thompson
TODO:
The LBS needs to support a 'transient' option in which it (a) does not log counters; and (b) keeps the events in a transient B+Tree (not backed by a file on the disk). Without this we can not have a transient EmbeddedFederation or LocalDataServiceFederation instances.

Field Summary
static String DEFAULT_EVENT_HISTORY_MILLIS
          Default is one hour of completed events.
static String DEFAULT_HISTORY_MINUTES
           
static String DEFAULT_INITIAL_ROUND_ROBIN_UPDATE_COUNT
          The default gives you a few minutes after you setup the federation in which newly registered indices will be allocated based on a round-robin.
static String DEFAULT_LOG_DELAY
           
static String DEFAULT_LOG_DIR
           
static String DEFAULT_LOG_MAX_FILES
           
static String DEFAULT_SERVICE_JOIN_TIMEOUT
           
static String DEFAULT_TRANSIENT
           
static String DEFAULT_UPDATE_DELAY
          The default UPDATE_DELAY.
static String EVENT_HISTORY_MILLIS
          The maximum age of an Event that will be keep "on the books".
static String HISTORY_MINUTES
          The #of minutes of history that will be smoothed into an average when LoadBalancerService.UpdateTask updates the HostScores and the ServiceScores (default "5").
static String INITIAL_ROUND_ROBIN_UPDATE_COUNT
          The load balancer service will use a round robin approach to recommending under-utilized services until this the load balancer has re-computed the service scores N times (default "5").
static String LOG_DELAY
          The delay in milliseconds between writes of the CounterSet on a log file (default is "3600000", which is equivalent to one hour).
static String LOG_DIR
          The path of the data directory for the load balancer.
static String LOG_MAX_FILES
          The maximum #of distinct log files to retain (default is one week based on a LOG_DELAY equivalent to one hour).
static String SERVICE_JOIN_TIMEOUT
          Service join timeout in milliseconds - used when we need to wait for a service to join before we can recommend an under-utilized service.
static String TRANSIENT
          When true the load balancer will not record any state on the disk (neither events nor counters).
static String UPDATE_DELAY
          The delay between scheduled invocations of the LoadBalancerService.UpdateTask.
 

Field Detail

INITIAL_ROUND_ROBIN_UPDATE_COUNT

static final String INITIAL_ROUND_ROBIN_UPDATE_COUNT
The load balancer service will use a round robin approach to recommending under-utilized services until this the load balancer has re-computed the service scores N times (default "5"). This makes it more likely that the initial index partitions will be allocated on services on different hosts for a new federation, but it is really a hack since it depends entirely on the time elapsed since the load balancer service (re-)started. This "feature" may be disabled by setting this property to ZERO (0).


DEFAULT_INITIAL_ROUND_ROBIN_UPDATE_COUNT

static final String DEFAULT_INITIAL_ROUND_ROBIN_UPDATE_COUNT
The default gives you a few minutes after you setup the federation in which newly registered indices will be allocated based on a round-robin.

See Also:
Constant Field Values

UPDATE_DELAY

static final String UPDATE_DELAY
The delay between scheduled invocations of the LoadBalancerService.UpdateTask.

Note: the AbstractStatisticsCollector implementations SHOULD sample at one minute intervals by default and clients SHOULD report the collected performance counters at approximately one minute intervals. The update rate can be no more frequent than the reporting rate, but could be 2-5x slower, especially if we use WARN and URGENT events to immediately re-score services.

See Also:
DEFAULT_UPDATE_DELAY, AbstractStatisticsCollector.Options#PERFORMANCE_COUNTERS_SAMPLE_INTERVAL

DEFAULT_UPDATE_DELAY

static final String DEFAULT_UPDATE_DELAY
The default UPDATE_DELAY.

See Also:
Constant Field Values

HISTORY_MINUTES

static final String HISTORY_MINUTES
The #of minutes of history that will be smoothed into an average when LoadBalancerService.UpdateTask updates the HostScores and the ServiceScores (default "5").

See Also:
ThreadPoolExecutorStatisticsTask

DEFAULT_HISTORY_MINUTES

static final String DEFAULT_HISTORY_MINUTES
See Also:
Constant Field Values

TRANSIENT

static final String TRANSIENT
When true the load balancer will not record any state on the disk (neither events nor counters). The default is false. This option is used by some unit tests to simplify cleanup.


DEFAULT_TRANSIENT

static final String DEFAULT_TRANSIENT
See Also:
Constant Field Values

LOG_DIR

static final String LOG_DIR
The path of the data directory for the load balancer. The load balancer will log a copy of the counters every time it runs its LoadBalancerService.UpdateTask. It will also log Events received from other services here. By default, the load balancer will use the directory in which it was started. You may specify an alternative directory using this property.


DEFAULT_LOG_DIR

static final String DEFAULT_LOG_DIR
See Also:
Constant Field Values

LOG_DELAY

static final String LOG_DELAY
The delay in milliseconds between writes of the CounterSet on a log file (default is "3600000", which is equivalent to one hour).


DEFAULT_LOG_DELAY

static final String DEFAULT_LOG_DELAY
See Also:
Constant Field Values

LOG_MAX_FILES

static final String LOG_MAX_FILES
The maximum #of distinct log files to retain (default is one week based on a LOG_DELAY equivalent to one hour).


DEFAULT_LOG_MAX_FILES

static final String DEFAULT_LOG_MAX_FILES
See Also:
Constant Field Values

SERVICE_JOIN_TIMEOUT

static final String SERVICE_JOIN_TIMEOUT
Service join timeout in milliseconds - used when we need to wait for a service to join before we can recommend an under-utilized service.


DEFAULT_SERVICE_JOIN_TIMEOUT

static final String DEFAULT_SERVICE_JOIN_TIMEOUT
See Also:
Constant Field Values

EVENT_HISTORY_MILLIS

static final String EVENT_HISTORY_MILLIS
The maximum age of an Event that will be keep "on the books". Events older than this are purged. An error is logged if an event is purged before its end() event arrives. This generally indicates a code path where Event.end() is not getting called but could also indicate a disconnected client or service.

See Also:
EventReceiver

DEFAULT_EVENT_HISTORY_MILLIS

static final String DEFAULT_EVENT_HISTORY_MILLIS
Default is one hour of completed events.

See Also:
Constant Field Values


Copyright © 2006-2012 SYSTAP, LLC. All Rights Reserved.