Class AsyncProcess

java.lang.Object
org.apache.hadoop.hbase.client.AsyncProcess

@Private @Evolving class AsyncProcess extends Object
This class allows a continuous flow of requests. It's written to be compatible with a synchronous caller such as HTable.

The caller sends a buffer of operation, by calling submit. This class extract from this list the operations it can send, i.e. the operations that are on region that are not considered as busy. The process is asynchronous, i.e. it returns immediately when if has finished to iterate on the list. If, and only if, the maximum number of current task is reached, the call to submit will block. Alternatively, the caller can call submitAll, in which case all the operations will be sent. Each call to submit returns a future-like object that can be used to track operation progress.

The class manages internally the retries.

The errors are tracked inside the Future object that is returned. The results are always tracked inside the Future object and can be retrieved when the call has finished. Partial results can also be retrieved if some part of multi-request failed.

This class is thread safe. Internally, the class is thread safe enough to manage simultaneously new submission and results arising from older operations.

Internally, this class works with Row, this mean it could be theoretically used for gets as well.