Class ScannerCallableWithReplicas

java.lang.Object
org.apache.hadoop.hbase.client.ScannerCallableWithReplicas
All Implemented Interfaces:
RetryingCallable<Result[]>

@Private class ScannerCallableWithReplicas extends Object implements RetryingCallable<Result[]>
This class has the logic for handling scanners for regions with and without replicas. 1. A scan is attempted on the default (primary) region, or a specific region. 2. The scanner sends all the RPCs to the default/specific region until it is done, or, there is a timeout on the default/specific region (a timeout of zero is disallowed). 3. If there is a timeout in (2) above, scanner(s) is opened on the non-default replica(s) only for Consistency.TIMELINE without specific replica id specified. 4. The results from the first successful scanner are taken, and it is stored which server returned the results. 5. The next RPCs are done on the above stored server until it is done or there is a timeout, in which case, the other replicas are queried (as in (3) above).