You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2010/11/08 23:10:39 UTC
svn commit: r1032761 - in /hbase/trunk: CHANGES.txt
src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
Author: jdcryans
Date: Mon Nov 8 22:10:38 2010
New Revision: 1032761
URL: http://svn.apache.org/viewvc?rev=1032761&view=rev
Log:
HBASE-3205 TableRecordReaderImpl.restart NPEs when first next is restarted
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1032761&r1=1032760&r2=1032761&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Mon Nov 8 22:10:38 2010
@@ -657,6 +657,7 @@ Release 0.90.0 - Unreleased
and it'll hold up regionserver shutdown
HBASE-3204 Reenable deferred log flush
HBASE-3195 [rest] Fix TestTransform breakage on Hudson
+ HBASE-3205 TableRecordReaderImpl.restart NPEs when first next is restarted
IMPROVEMENTS
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java?rev=1032761&r1=1032760&r2=1032761&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java Mon Nov 8 22:10:38 2010
@@ -132,6 +132,13 @@ public class TableRecordReaderImpl {
value = this.scanner.next();
} catch (IOException e) {
LOG.debug("recovered from " + StringUtils.stringifyException(e));
+ if (lastRow == null) {
+ LOG.warn("We are restarting the first next() invocation," +
+ " if your mapper's restarted a few other times like this" +
+ " then you should consider killing this job and investigate" +
+ " why it's taking so long.");
+ lastRow = scan.getStartRow();
+ }
restart(lastRow);
scanner.next(); // skip presumed already mapped row
value = scanner.next();