Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
ScanMetrics counter update may not happen in case of exception in TableRecordReaderImpl.nextKeyValue(),
There are multiple cases as below,
1. In case of DoNotRetryIOException
// do not retry if the exception tells us not to do so if (e instanceof DoNotRetryIOException) { throw e; }
2. While creating a new scanner,
if (lastSuccessfulRow == null) { restart(scan.getStartRow()); } else { restart(lastSuccessfulRow); scanner.next(); // skip presumed already mapped row }
3. In case of IOException
catch (IOException ioe) { if (logScannerActivity) { long now = System.currentTimeMillis(); LOG.info("Mapper took " + (now-timestamp) + "ms to process " + rowcount + " rows"); LOG.info(ioe.toString(), ioe); String lastRow = lastSuccessfulRow == null ? "null" : Bytes.toStringBinary(lastSuccessfulRow); LOG.info("lastSuccessfulRow=" + lastRow); } throw ioe; }
Attachments
Issue Links
- links to