You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Pankaj Kumar (Jira)" <ji...@apache.org> on 2019/08/27 08:09:00 UTC

[jira] [Created] (HBASE-22928) ScanMetrics counter update may not happen in case of exception in TableRecordReaderImpl

Pankaj Kumar created HBASE-22928:
------------------------------------

             Summary: 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


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)