com.bigdata.service
Interface IBigdataClient.Options

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

public static interface IBigdataClient.Options

Configuration options for IBigdataClients.

Version:
$Id: IBigdataClient.java 2265 2009-10-26 12:51:06Z 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_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_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_HTTPD_PORT
          The default http service port is ZERO (0), which means that a random port will be chosen.
static String DEFAULT_REPORT_DELAY
          The default REPORT_DELAY.
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_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_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 NestedSubqueryWithJoinThreadsTask for parallel subqueries?, 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").

See Also:
DEFAULT_REPORT_DELAY

DEFAULT_REPORT_DELAY

static final String DEFAULT_REPORT_DELAY
The default REPORT_DELAY.

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


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