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

2019-09-02 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar commented on HBASE-22928:
--

Thanks [~reidchan] 

> 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
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.7
>
>
> 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)


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

2019-09-02 Thread Hudson (Jira)


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

Hudson commented on HBASE-22928:


Results for branch branch-2.1
[build #1547 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1547/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1547//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- Something went wrong running this stage, please [check relevant console 
output|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1547//console].


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.1/1547//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> 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
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.7
>
>
> 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)


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

2019-09-02 Thread Hudson (Jira)


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

Hudson commented on HBASE-22928:


Results for branch branch-2.2
[build #562 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/562/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/562//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/562//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.2/562//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> 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
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.7
>
>
> 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)


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

2019-09-02 Thread Hudson (Jira)


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

Hudson commented on HBASE-22928:


Results for branch branch-2
[build #2214 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2214/]: 
(x) *{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2214//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2214//JDK8_Nightly_Build_Report_(Hadoop2)/]


(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2/2214//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> 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
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.7
>
>
> 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)


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

2019-09-02 Thread Hudson (Jira)


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

Hudson commented on HBASE-22928:


Results for branch master
[build #1386 on 
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/master/1386/]: (x) 
*{color:red}-1 overall{color}*

details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1386//General_Nightly_Build_Report/]




(x) {color:red}-1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1386//JDK8_Nightly_Build_Report_(Hadoop2)/]


(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://builds.apache.org/job/HBase%20Nightly/job/master/1386//JDK8_Nightly_Build_Report_(Hadoop3)/]


(/) {color:green}+1 source release artifact{color}
-- See build output for details.


(/) {color:green}+1 client integration test{color}


> 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
> Fix For: 3.0.0, 2.3.0, 2.2.1, 2.1.7
>
>
> 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)


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

2019-09-01 Thread Reid Chan (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-22928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=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)


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

2019-08-30 Thread Pankaj Kumar (Jira)


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

Pankaj Kumar commented on HBASE-22928:
--

Thanks for reviewing [~reidchan]... 

> 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)


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

2019-08-30 Thread Reid Chan (Jira)


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

Reid Chan commented on HBASE-22928:
---

Nice catch, LGTM.

> 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)