com.bigdata.service
Interface IBigdataClient.Options

All Known Subinterfaces:
AbstractScaleOutClient.Options, ClientServer.Options, ClientService.Options, DataServer.Options, DataService.Options, JiniClient.Options, MetadataServer.Options, MetadataService.Options
Enclosing interface:
IBigdataClient<T>

public static interface IBigdataClient.Options

Configuration options for IBigdataClients.

Version:
$Id: IBigdataClient.java 5911 2012-01-30 13:53:02Z thompsonbry $
Author:
Bryan Thompson

Field Summary
static String CLIENT_BATCH_API_ONLY
          A boolean property which controls whether or not the non-batch API will log errors complete with stack traces (default "false").
static String CLIENT_INDEX_CACHE_CAPACITY
          The capacity of the LRU cache of IIndex proxies held by the client (default "20").
static String CLIENT_INDEX_CACHE_TIMEOUT
          The time in milliseconds before an entry in the clients index cache will be cleared from the backing HardReferenceQueue (default ).
static String CLIENT_LOCATOR_CACHE_CAPACITY
          The capacity of the HardReferenceQueue backing the IResourceLocator maintained by the IBigdataClient.
static String CLIENT_LOCATOR_CACHE_TIMEOUT
          The timeout in milliseconds for stale entries in the IResourceLocator cache -or- ZERO (0) to disable the timeout (default ).
static String CLIENT_MAX_PARALLEL_TASKS_PER_REQUEST
          The maximum #of tasks that will be created and submitted in parallel for a single application request (default "100").
static String CLIENT_MAX_STALE_LOCATOR_RETRIES
          The maximum #of times that a client will retry an operation which resulted in a StaleLocatorException (default "100").
static String CLIENT_RANGE_QUERY_CAPACITY
          The default capacity used when a client issues a range query request (default "10000").
static String CLIENT_READ_CONSISTENT
          true iff globally consistent read operations are desired for READ-COMMITTED or UNISOLATED iterators or index procedures mapped across more than one index partition.
static String CLIENT_TASK_TIMEOUT
          The timeout in milliseconds for a task submitting to an IDataService (default "9223372036854775807").
static String CLIENT_THREAD_POOL_SIZE
          The #of threads in the client thread pool -or- ZERO (0) if the size of the thread pool is not fixed (default is 0).
static String COLLECT_PLATFORM_STATISTICS
          Boolean option for the collection of statistics from the underlying operating system (default "true").
static String COLLECT_QUEUE_STATISTICS
          Boolean option for the collection of statistics from the various queues using to run tasks (default DEFAULT_COLLECT_QUEUE_STATISTICS).
static String DEFAULT_CLIENT_BATCH_API_ONLY
           
static String DEFAULT_CLIENT_INDEX_CACHE_CAPACITY
          The default for the CLIENT_INDEX_CACHE_CAPACITY option.
static String DEFAULT_CLIENT_INDEX_CACHE_TIMEOUT
           
static String DEFAULT_CLIENT_LOCATOR_CACHE_CAPACITY
           
static String DEFAULT_CLIENT_LOCATOR_CACHE_TIMEOUT
           
static String DEFAULT_CLIENT_MAX_PARALLEL_TASKS_PER_REQUEST
           
static String DEFAULT_CLIENT_MAX_STALE_LOCATOR_RETRIES
           
static String DEFAULT_CLIENT_RANGE_QUERY_CAPACITY
           
static String DEFAULT_CLIENT_READ_CONSISTENT
           
static String DEFAULT_CLIENT_TASK_TIMEOUT
          The default timeout in milliseconds.
static String DEFAULT_CLIENT_THREAD_POOL_SIZE
           
static String DEFAULT_COLLECT_PLATFORM_STATISTICS
           
static String DEFAULT_COLLECT_QUEUE_STATISTICS
           
static String DEFAULT_GANGLIA_LISTEN
           
static String DEFAULT_GANGLIA_LISTEN_GROUP
           
static String DEFAULT_GANGLIA_LISTEN_PORT
           
static String DEFAULT_GANGLIA_REPORT
           
static String DEFAULT_GANGLIA_SERVERS
           
static String DEFAULT_HTTPD_PORT
          The default http service port is ZERO (0), which means that a random port will be chosen.
static String DEFAULT_REPORT_ALL
           
static String DEFAULT_REPORT_DELAY
          The default REPORT_DELAY.
static String GANGLIA_LISTEN
          When true, the embedded GangliaService will listen on to the specified multicast group.
static String GANGLIA_LISTEN_GROUP
          The multicast group used to join the ganglia performance monitoring network.
static String GANGLIA_LISTEN_PORT
          The port for the multicast group used to join the ganglia performance monitoring network.
static String GANGLIA_REPORT
          When true, the embedded GangliaService will report performance metrics to the specified gmetad server(s).
static String GANGLIA_SERVERS
          An list of the metric servers (gmetad instances) to which metrics will be sent.
static String HTTPD_PORT
          Integer option specifies the port on which an httpd service will be started that exposes the CounterSet for the client (default "0").
static String REPORT_ALL
          When true, all collected performance counters are reported (default .
static String REPORT_DELAY
          The delay between reports of performance counters to the ILoadBalancerService in milliseconds ( "60000").
 

Field Detail

CLIENT_THREAD_POOL_SIZE

static final String CLIENT_THREAD_POOL_SIZE
The #of threads in the client thread pool -or- ZERO (0) if the size of the thread pool is not fixed (default is 0). The thread pool is used to parallelize requests issued by the client.

Note: It is possible for the client to deadlock if the size of the thread pool is limited. At least some sources of deadlock have been eliminated (retries after a StaleLocatorException are now run in the caller's thread) but as of 5/14/08 it is clear that there is at least one source of deadlock remaining so the default value of 0 is advised.


DEFAULT_CLIENT_THREAD_POOL_SIZE

static final String DEFAULT_CLIENT_THREAD_POOL_SIZE
See Also:
Constant Field Values

CLIENT_MAX_STALE_LOCATOR_RETRIES

static final String CLIENT_MAX_STALE_LOCATOR_RETRIES
The maximum #of times that a client will retry an operation which resulted in a StaleLocatorException (default "100").

Note: The StaleLocatorException is thrown when a split, join, or move results in one or more new index partitions which replace the index partition addressed by the client.

This value needs to be relatively large if when we are aggressively driving journal overflows and index partitions splits during the "young" phase of a data service or scale-out index since a LOT of index partition splits and moves will result.

For mature data services and scale-out indices a retry will normally succeed.


DEFAULT_CLIENT_MAX_STALE_LOCATOR_RETRIES

static final String DEFAULT_CLIENT_MAX_STALE_LOCATOR_RETRIES
See Also:
Constant Field Values

CLIENT_READ_CONSISTENT

static final String CLIENT_READ_CONSISTENT
true iff globally consistent read operations are desired for READ-COMMITTED or UNISOLATED iterators or index procedures mapped across more than one index partition.

When true and the index is ITx.READ_COMMITTED or (if the index is ITx.UNISOLATED and the operation is read-only), IIndexStore.getLastCommitTime() is queried at the start of the operation and used as the timestamp for all requests made in support of that operation.

Note that StaleLocatorExceptions can not arise for read-consistent operations. Such operations use a read-consistent view of the IMetadataIndex and the locators therefore will not change during the operation.


DEFAULT_CLIENT_READ_CONSISTENT

static final String DEFAULT_CLIENT_READ_CONSISTENT
See Also:
Constant Field Values

CLIENT_MAX_PARALLEL_TASKS_PER_REQUEST

static final String CLIENT_MAX_PARALLEL_TASKS_PER_REQUEST
The maximum #of tasks that will be created and submitted in parallel for a single application request (default "100"). Multiple tasks are created for an application request whenever that request spans more than a single index partition. This limit prevents operations which span a very large #of index partitions from creating and submitting all of their tasks at once and thereby effectively blocking other client operations until the tasks have completed. Instead, this application request generates at most this many tasks at a time and new tasks will not be created for that request until the previous set of tasks for the request have completed.

TODO:
use for ProgramTask for parallel rule evaluation?

DEFAULT_CLIENT_MAX_PARALLEL_TASKS_PER_REQUEST

static final String DEFAULT_CLIENT_MAX_PARALLEL_TASKS_PER_REQUEST
See Also:
Constant Field Values

CLIENT_TASK_TIMEOUT

static final String CLIENT_TASK_TIMEOUT
The timeout in milliseconds for a task submitting to an IDataService (default "9223372036854775807").

Note: Use for NO timeout (the maximum value for a Long).


DEFAULT_CLIENT_TASK_TIMEOUT

static final String DEFAULT_CLIENT_TASK_TIMEOUT
The default timeout in milliseconds.

See Also:
CLIENT_TASK_TIMEOUT, Constant Field Values

CLIENT_RANGE_QUERY_CAPACITY

static final String CLIENT_RANGE_QUERY_CAPACITY
The default capacity used when a client issues a range query request (default "10000").

See Also:
IBigdataClient.getDefaultRangeQueryCapacity()
TODO:
use on IAccessPaths for the chunk size?

DEFAULT_CLIENT_RANGE_QUERY_CAPACITY

static final String DEFAULT_CLIENT_RANGE_QUERY_CAPACITY
See Also:
Constant Field Values

CLIENT_BATCH_API_ONLY

static final String CLIENT_BATCH_API_ONLY
A boolean property which controls whether or not the non-batch API will log errors complete with stack traces (default "false"). This may be used to locating code that needs to be re-written to use IIndexProcedures in order to obtain high performance.


DEFAULT_CLIENT_BATCH_API_ONLY

static final String DEFAULT_CLIENT_BATCH_API_ONLY
See Also:
Constant Field Values

CLIENT_LOCATOR_CACHE_CAPACITY

static final String CLIENT_LOCATOR_CACHE_CAPACITY
The capacity of the HardReferenceQueue backing the IResourceLocator maintained by the IBigdataClient. The capacity of this cache indirectly controls how many ILocatableResources the IBigdataClient will hold open.

The effect of this parameter is indirect owning to the semantics of weak references and the control of the JVM over when they are cleared. Once an ILocatableResource becomes weakly reachable, the JVM will eventually GC the object. Since objects which are strongly reachable are never cleared, this provides our guarantee that resources are never closed if they are in use.

See Also:
#DEFAULT_LOCATOR_CACHE_CAPACITY

DEFAULT_CLIENT_LOCATOR_CACHE_CAPACITY

static final String DEFAULT_CLIENT_LOCATOR_CACHE_CAPACITY
See Also:
Constant Field Values

CLIENT_LOCATOR_CACHE_TIMEOUT

static final String CLIENT_LOCATOR_CACHE_TIMEOUT
The timeout in milliseconds for stale entries in the IResourceLocator cache -or- ZERO (0) to disable the timeout (default ). When this timeout expires, the reference for the entry in the backing HardReferenceQueue will be cleared. Note that the entry will remain in the IResourceLocator cache regardless as long as it is strongly reachable.


DEFAULT_CLIENT_LOCATOR_CACHE_TIMEOUT

static final String DEFAULT_CLIENT_LOCATOR_CACHE_TIMEOUT
See Also:
Constant Field Values

CLIENT_INDEX_CACHE_CAPACITY

static final String CLIENT_INDEX_CACHE_CAPACITY
The capacity of the LRU cache of IIndex proxies held by the client (default "20"). The capacity of this cache indirectly controls how long an IIndex proxy will be cached. The main reason for keeping an IIndex in the cache is to reuse its buffers if another request arrives "soon" for that IIndex.

The effect of this parameter is indirect owning to the semantics of weak references and the control of the JVM over when they are cleared. Once an IIndex proxy becomes weakly reachable, the JVM will eventually GC the IIndex, thereby releasing all resources associated with it.

See Also:
DEFAULT_CLIENT_INDEX_CACHE_CAPACITY

DEFAULT_CLIENT_INDEX_CACHE_CAPACITY

static final String DEFAULT_CLIENT_INDEX_CACHE_CAPACITY
The default for the CLIENT_INDEX_CACHE_CAPACITY option.

See Also:
Constant Field Values

CLIENT_INDEX_CACHE_TIMEOUT

static final String CLIENT_INDEX_CACHE_TIMEOUT
The time in milliseconds before an entry in the clients index cache will be cleared from the backing HardReferenceQueue (default ). This property controls how long the client's index cache will retain an IIndex which has not been recently used. This is in contrast to the cache capacity.


DEFAULT_CLIENT_INDEX_CACHE_TIMEOUT

static final String DEFAULT_CLIENT_INDEX_CACHE_TIMEOUT
See Also:
Constant Field Values

COLLECT_PLATFORM_STATISTICS

static final String COLLECT_PLATFORM_STATISTICS
Boolean option for the collection of statistics from the underlying operating system (default "true").

See Also:
AbstractStatisticsCollector.newInstance(Properties)

DEFAULT_COLLECT_PLATFORM_STATISTICS

static final String DEFAULT_COLLECT_PLATFORM_STATISTICS
See Also:
Constant Field Values

COLLECT_QUEUE_STATISTICS

static final String COLLECT_QUEUE_STATISTICS
Boolean option for the collection of statistics from the various queues using to run tasks (default DEFAULT_COLLECT_QUEUE_STATISTICS).

See Also:
ThreadPoolExecutorStatisticsTask

DEFAULT_COLLECT_QUEUE_STATISTICS

static final String DEFAULT_COLLECT_QUEUE_STATISTICS
See Also:
Constant Field Values

REPORT_DELAY

static final String REPORT_DELAY
The delay between reports of performance counters to the ILoadBalancerService in milliseconds ( "60000"). When ZERO (0L), performance counter reporting will be disabled.

See Also:
DEFAULT_REPORT_DELAY

DEFAULT_REPORT_DELAY

static final String DEFAULT_REPORT_DELAY
The default REPORT_DELAY.

See Also:
Constant Field Values

REPORT_ALL

static final String REPORT_ALL
When true, all collected performance counters are reported (default . Otherwise only the QueryUtil.getRequiredPerformanceCountersFilter() will be reported. Reporting all performance counters is useful when diagnosing the services in a cluster. However, only a small number of performance counters are actually necessary for the functioning of the ILoadBalancerService.


DEFAULT_REPORT_ALL

static final String DEFAULT_REPORT_ALL
See Also:
Constant Field Values

HTTPD_PORT

static final String HTTPD_PORT
Integer option specifies the port on which an httpd service will be started that exposes the CounterSet for the client (default "0"). When ZERO (0), a random port will be used. The httpd service may be disabled by specifying -1 as the port.

Note: The httpd service for the LoadBalancerService is normally run on a known port in order to make it easy to locate that service, e.g., port 80, 8000 or 8080, etc. This MUST be overridden for the LoadBalancerService it its configuration since DEFAULT_HTTPD_PORT will otherwise cause a random port to be assigned.


DEFAULT_HTTPD_PORT

static final String DEFAULT_HTTPD_PORT
The default http service port is ZERO (0), which means that a random port will be chosen.

See Also:
Constant Field Values

GANGLIA_LISTEN_GROUP

static final String GANGLIA_LISTEN_GROUP
The multicast group used to join the ganglia performance monitoring network.


DEFAULT_GANGLIA_LISTEN_GROUP

static final String DEFAULT_GANGLIA_LISTEN_GROUP
See Also:
Constant Field Values

GANGLIA_LISTEN_PORT

static final String GANGLIA_LISTEN_PORT
The port for the multicast group used to join the ganglia performance monitoring network.


DEFAULT_GANGLIA_LISTEN_PORT

static final String DEFAULT_GANGLIA_LISTEN_PORT

GANGLIA_LISTEN

static final String GANGLIA_LISTEN
When true, the embedded GangliaService will listen on to the specified multicast group.

Note: If both GANGLIA_LISTEN and GANGLIA_REPORT are false then the embedded GangliaService will not be started.


DEFAULT_GANGLIA_LISTEN

static final String DEFAULT_GANGLIA_LISTEN
See Also:
Constant Field Values

GANGLIA_REPORT

static final String GANGLIA_REPORT
When true, the embedded GangliaService will report performance metrics to the specified gmetad server(s).

Note: If both GANGLIA_LISTEN and GANGLIA_REPORT are false then the embedded GangliaService will not be started.


DEFAULT_GANGLIA_REPORT

static final String DEFAULT_GANGLIA_REPORT
See Also:
Constant Field Values

GANGLIA_SERVERS

static final String GANGLIA_SERVERS
An list of the metric servers (gmetad instances) to which metrics will be sent. The default is to send metrics to the well known multicast group for ganglia. Zero or more hosts may be specified, separated by whitespace or commas. The port for each host is optional and defaults to the well known port for ganglia. Each host may be either a unicast address or a multicast group.


DEFAULT_GANGLIA_SERVERS

static final String DEFAULT_GANGLIA_SERVERS
See Also:
Constant Field Values


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