[ 
https://issues.apache.org/jira/browse/HBASE-22928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16920581#comment-16920581
 ] 

Reid Chan commented on HBASE-22928:
-----------------------------------

Applied to master, branch-2, branch-2.1, branch-2.2.

> ScanMetrics counter update may not happen in case of exception in 
> TableRecordReaderImpl
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-22928
>                 URL: https://issues.apache.org/jira/browse/HBASE-22928
>             Project: HBase
>          Issue Type: Bug
>          Components: mapreduce
>            Reporter: Pankaj Kumar
>            Assignee: Pankaj Kumar
>            Priority: Minor
>
> ScanMetrics counter update may not happen in case of exception in 
> TableRecordReaderImpl.nextKeyValue(),
> There are multiple cases as below,
> 1. In case of DoNotRetryIOException
> {code}
>  // do not retry if the exception tells us not to do so
>  if (e instanceof DoNotRetryIOException) {
>  throw e;
>  }
> {code}
> 2. While creating a new scanner,
> {code}
>  if (lastSuccessfulRow == null) {
>  restart(scan.getStartRow());
>  } else {
>  restart(lastSuccessfulRow);
>  scanner.next(); // skip presumed already mapped row
>  }
> {code}
> 3. In case of IOException
> {code}
>  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;
>  }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to