MCPcopy Create free account
hub / github.com/OpenTSDB/asynchbase / openReverseScanner

Method openReverseScanner

src/HBaseClient.java:1524–1548  ·  view source on GitHub ↗

Called instead of openScanner() in order to do an additional META lookup to find next region we will be scanning. @param scanner The scanner to open. @return A deferred scanner ID (long) if HBase 0.94 and before, or a deferred Scanner.Response if HBase 0.95 and up.

(final Scanner scanner)

Source from the content-addressed store, hash-verified

1522 * deferred {@link Scanner.Response} if HBase 0.95 and up.
1523 */
1524 Deferred<Object> openReverseScanner(final Scanner scanner){
1525 return locateRegionClosestBeforeKey(
1526 scanner.getOpenRequest(), scanner.table(), scanner.startKey())
1527 .addCallbacks(
1528 new Callback<Object, Object>() {
1529 public Object call(final Object arg) {
1530 return openScanner(scanner,
1531 scanner.getOpenRequestForReverseScan(
1532 ((RegionLocation) arg).startKey()));
1533 }
1534 },
1535 new Callback<Object, Object>() {
1536 public Object call(final Object error) {
1537 LOG.info("Lookup to construct reverse scanner failed on table " +
1538 Bytes.pretty(scanner.table()) + " and start key " +
1539 Bytes.pretty(scanner.startKey()));
1540 return error;
1541 }
1542
1543 public String toString() {
1544 return "openReverseScanner errback";
1545 }
1546 }
1547 );
1548 }
1549
1550 /** Singleton callback to handle responses of "openScanner" RPCs. */
1551 private static final Callback<Object, Object> scanner_opened =

Callers 1

nextRowsMethod · 0.80

Calls 4

getOpenRequestMethod · 0.80
tableMethod · 0.65
startKeyMethod · 0.45

Tested by

no test coverage detected