org.compass.core.lucene
Class LuceneEnvironment.Transaction.Processor.Async

java.lang.Object
  extended by org.compass.core.lucene.LuceneEnvironment.Transaction.Processor.Async
Enclosing class:
LuceneEnvironment.Transaction.Processor

public static final class LuceneEnvironment.Transaction.Processor.Async
extends Object

Settings for async transaction processor.

See Also:
AsyncTransactionProcessorFactory, AsyncTransactionProcessor

Field Summary
static String ADD_TIMEOUT
          The timeout value to wait if the backlog is full until it is cleared.
static String BACKLOG
          The bounded size of the backlog for async transactions to process (note, a transaciton includes one or more destructive operations.
static String BATCH_JOBS_SIZE
          Once a transaction is identified as needed to be processed asynchronously, it can try and wait for more transactions to happen in order to process all of them in one go.
static String BATCH_JOBS_TIMEOUT
          Once a transaction is identified as needed to be processed asynchronously, it can try and wait for more transactions to happen in order to process all of them in one go.
static String CONCURRENCY_LEVEL
          The number of threads that will be used to process the transactions.
static String HASHING
          Controls how hashing will be done for parallel processing.
static String MAINTAIN_ORDER
          Allows to control if order between concurrent transactions within a single JVM or across JVMs on the sub index level will have to be ordered or not.
static String NAME
          The name of the lucene async transaction processor.
static String NON_BLOCKING_BATCH_JOBS_SIZE
          Once a transaction is identified as needed to be processed asynchronously, and after it has waited for additional transactions (see BATCH_JOBS_SIZE and BATCH_JOBS_TIMEOUT, this setting controls the number of additional transactions the processor will try to get in a non blocking fashion.
static String PROCESS_BEFORE_CLOSE
          When Compass is closed, should it wait for all the unprocessed transactions to be processed.
 
Constructor Summary
LuceneEnvironment.Transaction.Processor.Async()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NAME

public static final String NAME
The name of the lucene async transaction processor.

See Also:
Constant Field Values

MAINTAIN_ORDER

public static final String MAINTAIN_ORDER
Allows to control if order between concurrent transactions within a single JVM or across JVMs on the sub index level will have to be ordered or not. If they are ordered, a lock will be obtained once a dirty operation is perfomed against the sub index, and it will only be released once the transaction commits / rolls back. Default value is true.

See Also:
Constant Field Values

BACKLOG

public static final String BACKLOG
The bounded size of the backlog for async transactions to process (note, a transaciton includes one or more destructive operations. Once the backlog is full, transactions will block until new tranasctions can be inserted to it. The default backlog size is 10.

See Also:
Constant Field Values

ADD_TIMEOUT

public static final String ADD_TIMEOUT
The timeout value to wait if the backlog is full until it is cleared. Defaults to 10 seconds. Accepts Compass time format settings.

See Also:
Constant Field Values

BATCH_JOBS_SIZE

public static final String BATCH_JOBS_SIZE
Once a transaction is identified as needed to be processed asynchronously, it can try and wait for more transactions to happen in order to process all of them in one go. This settings controls how many additional transactions will be accumalated by blocking for them. The blocking time is controlled using BATCH_JOBS_TIMEOUT.

While there is an additional job within the timeout, transactions will be accumelated until the configured size. If there is none within the timeout, the processor will break and won't wait for more in order to process the jobs.

Defaults to 5.

See Also:
Constant Field Values

BATCH_JOBS_TIMEOUT

public static final String BATCH_JOBS_TIMEOUT
Once a transaction is identified as needed to be processed asynchronously, it can try and wait for more transactions to happen in order to process all of them in one go. This settings controls how long to wait for each additional transaction.

While there is an additional job within the timeout, transactions will be accumelated until the configured size. If there is none within the timeout, the processor will break and won't wait for more in order to process the jobs.

Defaults to 100 milliseconds.

See Also:
Constant Field Values

NON_BLOCKING_BATCH_JOBS_SIZE

public static final String NON_BLOCKING_BATCH_JOBS_SIZE
Once a transaction is identified as needed to be processed asynchronously, and after it has waited for additional transactions (see BATCH_JOBS_SIZE and BATCH_JOBS_TIMEOUT, this setting controls the number of additional transactions the processor will try to get in a non blocking fashion.

Defaults to 5.

See Also:
Constant Field Values

CONCURRENCY_LEVEL

public static final String CONCURRENCY_LEVEL
The number of threads that will be used to process the transactions. Defaults to 5.

See Also:
Constant Field Values

PROCESS_BEFORE_CLOSE

public static final String PROCESS_BEFORE_CLOSE
When Compass is closed, should it wait for all the unprocessed transactions to be processed. Defaults to true.

See Also:
Constant Field Values

HASHING

public static final String HASHING
Controls how hashing will be done for parallel processing. Eitehr uid or subindex. Defuats to uid.

See Also:
Constant Field Values
Constructor Detail

LuceneEnvironment.Transaction.Processor.Async

public LuceneEnvironment.Transaction.Processor.Async()


Copyright (c) 2004-2009 The Compass Project.