@Override public Result[] call(int timeout) throws IOException { if (this.closed) return null; if (Thread.interrupted()) { throw new InterruptedIOException(); } ScanRequest request = RequestConverter.buildScanRequest(getLocation() .getRegionInfo().getRegionName(), getScan(), getCaching(), true); ScanResponse response = null; controller = controllerFactory.newController(); try { controller.setPriority(getTableName()); controller.setCallTimeout(timeout); response = getStub().scan(controller, request); Result[] results = ResponseConverter.getResults(controller.cellScanner(), response); if (response.hasMoreResultsInRegion()) { setHasMoreResultsContext(true); setServerHasMoreResults(response.getMoreResultsInRegion()); } else { setHasMoreResultsContext(false); } // We need to update result metrics since we are overriding call() updateResultsMetrics(results); return results; } catch (ServiceException se) { throw ProtobufUtil.getRemoteException(se); } }
return ResponseConverter.getResults(requestProto, responseProto, controller.cellScanner());
rrs = ResponseConverter.getResults(cellScanner, response); if (logScannerActivity) { long now = System.currentTimeMillis();