You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2012/01/20 03:22:51 UTC

svn commit: r1233729 - /hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java

Author: nspiegelberg
Date: Fri Jan 20 02:22:50 2012
New Revision: 1233729

URL: http://svn.apache.org/viewvc?rev=1233729&view=rev
Log:
[master] Fix the MapReduce NPE for ODS rollup job [part 2]

Summary:
The change is based on https://phabricator.fb.com/D387115
However we should commit this change to mapreduce package instead of mapred
package.

Test Plan: mvn test

Reviewers: kranganathan, kannan

Reviewed By: kannan

CC: hbase-eng@lists, kannan

Differential Revision: https://phabricator.fb.com/D387619

Modified:
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java?rev=1233729&r1=1233728&r2=1233729&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java Fri Jan 20 02:22:50 2012
@@ -136,8 +136,12 @@ public class TableRecordReaderImpl {
       value = this.scanner.next();
     } catch (IOException e) {
       LOG.info("recovered from " + StringUtils.stringifyException(e));
-      restart(lastRow);
-      scanner.next();    // skip presumed already mapped row
+      if (lastRow == null) {
+        restart(scan.getStartRow());
+      } else {
+        restart(lastRow);
+        this.scanner.next(); // skip presumed already mapped row
+      }
       value = scanner.next();
     }
     if (value != null && value.size() > 0) {