From adbcfc3846f28f46d8d5645b20e3e5919a133ec1 Mon Sep 17 00:00:00 2001 From: Ryan Rawson Date: Sat, 15 May 2010 00:19:58 +0000 Subject: [PATCH] Make unit test run faster, fix javadoc, fix scan merge error, and remove unused variable git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@944530 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/hadoop/hbase/regionserver/HRegion.java | 11 ++++++----- .../hadoop/hbase/regionserver/ScanQueryMatcher.java | 6 ------ .../apache/hadoop/hbase/regionserver/TestHRegion.java | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index 32987782ec6..9a37ef30e9c 100644 --- a/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/core/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -251,7 +251,7 @@ public class HRegion implements HConstants, HeapSize { // , Writable{ /** * HRegion constructor. his constructor should only be used for testing and * extensions. Instances of HRegion should be instantiated with the - * {@link org.apache.hadoop.hbase.regionserver.HRegion#newHRegion( org.apache.hadoop.fs.Path, HLog, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.hbase.HBaseConfiguration, org.apache.hadoop.hbase.HRegionInfo, FlushRequester)} method. + * {@link HRegion#newHRegion(Path, HLog, FileSystem, Configuration, org.apache.hadoop.hbase.HRegionInfo, FlushRequester)} method. * * * @param basedir qualified path of directory where region should be located, @@ -271,7 +271,7 @@ public class HRegion implements HConstants, HeapSize { // , Writable{ * making progress to master -- otherwise master might think region deploy * failed. Can be null. * - * @see org.apache.hadoop.hbase.regionserver.HRegion#newHRegion(org.apache.hadoop.fs.Path, HLog, org.apache.hadoop.fs.FileSystem, org.apache.hadoop.hbase.HBaseConfiguration, org.apache.hadoop.hbase.HRegionInfo, FlushRequester) + * @see HRegion#newHRegion(Path, HLog, FileSystem, Configuration, org.apache.hadoop.hbase.HRegionInfo, FlushRequester) */ public HRegion(Path basedir, HLog log, FileSystem fs, Configuration conf, @@ -1231,7 +1231,6 @@ public class HRegion implements HConstants, HeapSize { // , Writable{ checkResources(); Integer lid = null; splitsAndClosesLock.readLock().lock(); - Integer lid = null; try { byte [] row = delete.getRow(); // If we did not pass an existing row lock, obtain a new one @@ -1943,6 +1942,8 @@ public class HRegion implements HConstants, HeapSize { // , Writable{ } else { this.stopRow = scan.getStopRow(); } + // If we are doing a get, we want to be [startRow,endRow] normally + // it is [startRow,endRow) and if startRow=endRow we get nothing. this.isScan = scan.isGetScan() ? -1 : 0; List scanners = new ArrayList(); @@ -2035,8 +2036,8 @@ public class HRegion implements HConstants, HeapSize { // , Writable{ filterCurrentRow = false; // See if we passed stopRow if (this.stopRow != null && - comparator.compareRows(this.stopRow, 0, this.stopRow.length, - currentRow, 0, currentRow.length) <= 0) { + comparator.compareRows(this.stopRow, 0, this.stopRow.length, + currentRow, 0, currentRow.length) <= this.isScan) { return false; } if (hasResults()) return true; diff --git a/core/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java b/core/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java index 0651220b462..e0cf35f5503 100644 --- a/core/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java +++ b/core/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java @@ -34,7 +34,6 @@ public class ScanQueryMatcher extends QueryMatcher { // Optimization so we can skip lots of compares when we decide to skip // to the next row. private boolean stickyNextRow; - private KeyValue stopKey = null; /** * Constructs a QueryMatcher for a Scan. @@ -52,11 +51,6 @@ public class ScanQueryMatcher extends QueryMatcher { this.rowComparator = rowComparator; this.deletes = new ScanDeleteTracker(); this.startKey = KeyValue.createFirstOnRow(scan.getStartRow()); - if (scan.isGetScan()) { - this.stopKey = KeyValue.createLastOnRow(scan.getStopRow()); - } else { - this.stopKey = KeyValue.createFirstOnRow(scan.getStopRow()); - } this.filter = scan.getFilter(); // Single branch to deal with two types of reads (columns vs all in family) diff --git a/core/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java b/core/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java index 934570d8bce..2a4f7785315 100644 --- a/core/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java +++ b/core/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java @@ -2131,7 +2131,7 @@ public class TestHRegion extends HBaseTestCase { public void testWritesWhileGetting() throws IOException, InterruptedException { byte[] tableName = Bytes.toBytes("testWritesWhileScanning"); - int testCount = 200; + int testCount = 100; int numRows = 1; int numFamilies = 10; int numQualifiers = 100;