protected final void resetCallTimeout() { long callTimeoutNs; if (operationTimeoutNs > 0) { callTimeoutNs = remainingTimeNs(); if (callTimeoutNs <= 0) { completeExceptionally(); return; } callTimeoutNs = Math.min(callTimeoutNs, rpcTimeoutNs); } else { callTimeoutNs = rpcTimeoutNs; } resetController(controller, callTimeoutNs); }
private void renewLease() { incRPCCallsMetrics(scanMetrics, regionServerRemote); nextCallSeq++; resetController(controller, rpcTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(scannerId, 0, false, nextCallSeq, false, true, -1); stub.scan(controller, req, resp -> { }); }
resetController(controller, Math.min(rpcTimeoutNs, remainingNs)); if (!cells.isEmpty()) { controller.setCellScanner(createCellScanner(cells));
private void closeScanner() { incRPCCallsMetrics(scanMetrics, regionServerRemote); resetController(controller, rpcTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(this.scannerId, 0, true, false); stub.scan(controller, req, resp -> { if (controller.failed()) { LOG.warn("Call to " + loc.getServerName() + " for closing scanner id = " + scannerId + " for " + loc.getRegion().getEncodedName() + " of " + loc.getRegion().getTable() + " failed, ignore, probably already closed", controller.getFailed()); } }); }
private void call() { // As we have a call sequence for scan, it is useless to have a different rpc timeout which is // less than the scan timeout. If the server does not respond in time(usually this will not // happen as we have heartbeat now), we will get an OutOfOrderScannerNextException when // resending the next request and the only way to fix this is to close the scanner and open a // new one. long callTimeoutNs; if (scanTimeoutNs > 0) { long remainingNs = scanTimeoutNs - (System.nanoTime() - nextCallStartNs); if (remainingNs <= 0) { completeExceptionally(true); return; } callTimeoutNs = remainingNs; } else { callTimeoutNs = 0L; } incRPCCallsMetrics(scanMetrics, regionServerRemote); if (tries > 1) { incRPCRetriesMetrics(scanMetrics, regionServerRemote); } resetController(controller, callTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(scannerId, scan.getCaching(), false, nextCallSeq, false, false, scan.getLimit()); stub.scan(controller, req, resp -> onComplete(controller, resp)); }
protected void resetCallTimeout() { long callTimeoutNs; if (operationTimeoutNs > 0) { callTimeoutNs = remainingTimeNs(); if (callTimeoutNs <= 0) { completeExceptionally(); return; } callTimeoutNs = Math.min(callTimeoutNs, rpcTimeoutNs); } else { callTimeoutNs = rpcTimeoutNs; } resetController(controller, callTimeoutNs); }
private void renewLease() { incRPCCallsMetrics(scanMetrics, regionServerRemote); nextCallSeq++; resetController(controller, rpcTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(scannerId, 0, false, nextCallSeq, false, true, -1); stub.scan(controller, req, resp -> { }); }
resetController(controller, Math.min(rpcTimeoutNs, remainingNs)); if (!cells.isEmpty()) { controller.setCellScanner(createCellScanner(cells));
private void closeScanner() { incRPCCallsMetrics(scanMetrics, regionServerRemote); resetController(controller, rpcTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(this.scannerId, 0, true, false); stub.scan(controller, req, resp -> { if (controller.failed()) { LOG.warn("Call to " + loc.getServerName() + " for closing scanner id = " + scannerId + " for " + loc.getRegion().getEncodedName() + " of " + loc.getRegion().getTable() + " failed, ignore, probably already closed", controller.getFailed()); } }); }
private void call() { // As we have a call sequence for scan, it is useless to have a different rpc timeout which is // less than the scan timeout. If the server does not respond in time(usually this will not // happen as we have heartbeat now), we will get an OutOfOrderScannerNextException when // resending the next request and the only way to fix this is to close the scanner and open a // new one. long callTimeoutNs; if (scanTimeoutNs > 0) { long remainingNs = scanTimeoutNs - (System.nanoTime() - nextCallStartNs); if (remainingNs <= 0) { completeExceptionally(true); return; } callTimeoutNs = remainingNs; } else { callTimeoutNs = 0L; } incRPCCallsMetrics(scanMetrics, regionServerRemote); if (tries > 1) { incRPCRetriesMetrics(scanMetrics, regionServerRemote); } resetController(controller, callTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(scannerId, scan.getCaching(), false, nextCallSeq, false, false, scan.getLimit()); stub.scan(controller, req, resp -> onComplete(controller, resp)); }
protected void resetCallTimeout() { long callTimeoutNs; if (operationTimeoutNs > 0) { callTimeoutNs = remainingTimeNs(); if (callTimeoutNs <= 0) { completeExceptionally(); return; } callTimeoutNs = Math.min(callTimeoutNs, rpcTimeoutNs); } else { callTimeoutNs = rpcTimeoutNs; } resetController(controller, callTimeoutNs); }
private void renewLease() { incRPCCallsMetrics(scanMetrics, regionServerRemote); nextCallSeq++; resetController(controller, rpcTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(scannerId, 0, false, nextCallSeq, false, true, -1); stub.scan(controller, req, resp -> { }); }
resetController(controller, Math.min(rpcTimeoutNs, remainingNs)); if (!cells.isEmpty()) { controller.setCellScanner(createCellScanner(cells));
private void closeScanner() { incRPCCallsMetrics(scanMetrics, regionServerRemote); resetController(controller, rpcTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(this.scannerId, 0, true, false); stub.scan(controller, req, resp -> { if (controller.failed()) { LOG.warn("Call to " + loc.getServerName() + " for closing scanner id = " + scannerId + " for " + loc.getRegion().getEncodedName() + " of " + loc.getRegion().getTable() + " failed, ignore, probably already closed", controller.getFailed()); } }); }
private void call() { // As we have a call sequence for scan, it is useless to have a different rpc timeout which is // less than the scan timeout. If the server does not respond in time(usually this will not // happen as we have heartbeat now), we will get an OutOfOrderScannerNextException when // resending the next request and the only way to fix this is to close the scanner and open a // new one. long callTimeoutNs; if (scanTimeoutNs > 0) { long remainingNs = scanTimeoutNs - (System.nanoTime() - nextCallStartNs); if (remainingNs <= 0) { completeExceptionally(true); return; } callTimeoutNs = remainingNs; } else { callTimeoutNs = 0L; } incRPCCallsMetrics(scanMetrics, regionServerRemote); if (tries > 1) { incRPCRetriesMetrics(scanMetrics, regionServerRemote); } resetController(controller, callTimeoutNs); ScanRequest req = RequestConverter.buildScanRequest(scannerId, scan.getCaching(), false, nextCallSeq, false, false, scan.getLimit()); stub.scan(controller, req, resp -> onComplete(controller, resp)); }