diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java index a3a26d69fe1..fe097c5ab2b 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java @@ -51,9 +51,11 @@ import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.client.ScannerCallable; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil; import org.apache.hadoop.hbase.mapreduce.TableMapper; +import org.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.NullWritable; @@ -624,6 +626,8 @@ public class IntegrationTestBigLinkedList extends Configured implements Tool { job.setNumReduceTasks(numReducers); job.setJarByClass(getClass()); + setJobScannerConf(job); + Scan scan = new Scan(); scan.addColumn(FAMILY_NAME, COLUMN_PREV); scan.setCaching(10000); @@ -1065,4 +1069,10 @@ public class IntegrationTestBigLinkedList extends Configured implements Tool { job.getConfiguration().setInt(GENERATOR_WRAP_KEY, wrapMuplitplier.intValue()); } } + + private static void setJobScannerConf(Job job) { + // Make sure scanners log something useful to make debugging possible. + job.getConfiguration().setBoolean(ScannerCallable.LOG_SCANNER_ACTIVITY, true); + job.getConfiguration().setInt(TableRecordReaderImpl.LOG_PER_ROW_COUNT, 100000); + } } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java index 641f363a2c2..a21f4e07082 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.java @@ -52,7 +52,7 @@ public class TableRecordReaderImpl { public static final String LOG_PER_ROW_COUNT = "hbase.mapreduce.log.scanner.rowcount"; - static final Log LOG = LogFactory.getLog(TableRecordReader.class); + static final Log LOG = LogFactory.getLog(TableRecordReaderImpl.class); // HBASE_COUNTER_GROUP_NAME is the name of mapreduce counter group for HBase private static final String HBASE_COUNTER_GROUP_NAME = diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java index 1af14ace480..25e3657be81 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java @@ -3016,6 +3016,7 @@ public class HRegionServer implements ClientProtos.ClientService.BlockingInterfa if (request.hasScannerId()) { rsh = scanners.get(scannerName); if (rsh == null) { + LOG.info("Client tried to access missing scanner " + scannerName); throw new UnknownScannerException( "Name: " + scannerName + ", already closed?"); }