You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2009/09/09 19:14:24 UTC
svn commit: r813052 [4/4] - in /hadoop/hbase/branches/0.20_on_hadoop-0.18.3:
./ bin/ conf/ src/java/org/apache/hadoop/hbase/
src/java/org/apache/hadoop/hbase/client/
src/java/org/apache/hadoop/hbase/filter/
src/java/org/apache/hadoop/hbase/io/ src/java...
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestMemStore.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestMemStore.java?rev=813052&r1=813051&r2=813052&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestMemStore.java (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestMemStore.java Wed Sep 9 17:14:22 2009
@@ -42,7 +42,7 @@
private final Log LOG = LogFactory.getLog(this.getClass());
private MemStore memstore;
private static final int ROW_COUNT = 10;
- private static final int QUALIFIER_COUNT = 10;
+ private static final int QUALIFIER_COUNT = ROW_COUNT;
private static final byte [] FAMILY = Bytes.toBytes("column");
private static final byte [] CONTENTS_BASIC = Bytes.toBytes("contents:basic");
private static final String CONTENTSTR = "contentstr";
@@ -82,12 +82,18 @@
while (s.next(result)) {
LOG.info(result);
count++;
+ // Row count is same as column count.
+ assertEquals(rowCount, result.size());
result.clear();
}
} finally {
s.close();
}
assertEquals(rowCount, count);
+ for (int i = 0; i < memstorescanners.length; i++) {
+ memstorescanners[0].close();
+ }
+ memstorescanners = this.memstore.getScanners();
// Now assert can count same number even if a snapshot mid-scan.
s = new StoreScanner(scan, null, HConstants.LATEST_TIMESTAMP,
this.memstore.comparator, null, memstorescanners);
@@ -98,6 +104,8 @@
// Assert the stuff is coming out in right order.
assertTrue(Bytes.compareTo(Bytes.toBytes(count), result.get(0).getRow()) == 0);
count++;
+ // Row count is same as column count.
+ assertEquals(rowCount, result.size());
if (count == 2) {
this.memstore.snapshot();
LOG.info("Snapshotted");
@@ -108,6 +116,37 @@
s.close();
}
assertEquals(rowCount, count);
+ for (int i = 0; i < memstorescanners.length; i++) {
+ memstorescanners[0].close();
+ }
+ memstorescanners = this.memstore.getScanners();
+ // Assert that new values are seen in kvset as we scan.
+ long ts = System.currentTimeMillis();
+ s = new StoreScanner(scan, null, HConstants.LATEST_TIMESTAMP,
+ this.memstore.comparator, null, memstorescanners);
+ count = 0;
+ int snapshotIndex = 5;
+ try {
+ while (s.next(result)) {
+ LOG.info(result);
+ // Assert the stuff is coming out in right order.
+ assertTrue(Bytes.compareTo(Bytes.toBytes(count), result.get(0).getRow()) == 0);
+ // Row count is same as column count.
+ assertEquals("count=" + count + ", result=" + result, rowCount, result.size());
+ count++;
+ if (count == snapshotIndex) {
+ this.memstore.snapshot();
+ this.memstore.clearSnapshot(this.memstore.getSnapshot());
+ // Added more rows into kvset.
+ addRows(this.memstore, ts);
+ LOG.info("Snapshotted, cleared it and then added values");
+ }
+ result.clear();
+ }
+ } finally {
+ s.close();
+ }
+ assertEquals(rowCount, count);
}
/**
@@ -126,7 +165,7 @@
}
public void testMultipleVersionsSimple() throws Exception {
- MemStore m = new MemStore(HConstants.FOREVER, KeyValue.COMPARATOR);
+ MemStore m = new MemStore(KeyValue.COMPARATOR);
byte [] row = Bytes.toBytes("testRow");
byte [] family = Bytes.toBytes("testFamily");
byte [] qf = Bytes.toBytes("testQualifier");
@@ -146,7 +185,7 @@
}
public void testBinary() throws IOException {
- MemStore mc = new MemStore(HConstants.FOREVER, KeyValue.ROOT_COMPARATOR);
+ MemStore mc = new MemStore(KeyValue.ROOT_COMPARATOR);
final int start = 43;
final int end = 46;
for (int k = start; k <= end; k++) {
@@ -180,66 +219,7 @@
//////////////////////////////////////////////////////////////////////////////
// Get tests
//////////////////////////////////////////////////////////////////////////////
- /** For HBASE-528 */
- public void testGetRowKeyAtOrBefore() {
- // set up some test data
- byte [] t10 = Bytes.toBytes("010");
- byte [] t20 = Bytes.toBytes("020");
- byte [] t30 = Bytes.toBytes("030");
- byte [] t35 = Bytes.toBytes("035");
- byte [] t40 = Bytes.toBytes("040");
-
- memstore.add(getKV(t10, "t10 bytes".getBytes()));
- memstore.add(getKV(t20, "t20 bytes".getBytes()));
- memstore.add(getKV(t30, "t30 bytes".getBytes()));
- memstore.add(getKV(t35, "t35 bytes".getBytes()));
- // write a delete in there to see if things still work ok
- memstore.add(getDeleteKV(t35));
- memstore.add(getKV(t40, "t40 bytes".getBytes()));
-
- NavigableSet<KeyValue> results = null;
-
- // try finding "015"
- results =
- new TreeSet<KeyValue>(this.memstore.comparator.getComparatorIgnoringType());
- KeyValue t15 = new KeyValue(Bytes.toBytes("015"),
- System.currentTimeMillis());
- memstore.getRowKeyAtOrBefore(t15, results);
- KeyValue kv = results.last();
- assertTrue(KeyValue.COMPARATOR.compareRows(kv, t10) == 0);
-
- // try "020", we should get that row exactly
- results =
- new TreeSet<KeyValue>(this.memstore.comparator.getComparatorIgnoringType());
- memstore.getRowKeyAtOrBefore(new KeyValue(t20, System.currentTimeMillis()),
- results);
- assertTrue(KeyValue.COMPARATOR.compareRows(results.last(), t20) == 0);
-
- // try "030", we should get that row exactly
- results =
- new TreeSet<KeyValue>(this.memstore.comparator.getComparatorIgnoringType());
- memstore.getRowKeyAtOrBefore(new KeyValue(t30, System.currentTimeMillis()),
- results);
- assertTrue(KeyValue.COMPARATOR.compareRows(results.last(), t30) == 0);
-
- // try "038", should skip the deleted "035" and give "030"
- results =
- new TreeSet<KeyValue>(this.memstore.comparator.getComparatorIgnoringType());
- byte [] t38 = Bytes.toBytes("038");
- memstore.getRowKeyAtOrBefore(new KeyValue(t38, System.currentTimeMillis()),
- results);
- assertTrue(KeyValue.COMPARATOR.compareRows(results.last(), t30) == 0);
-
- // try "050", should get stuff from "040"
- results =
- new TreeSet<KeyValue>(this.memstore.comparator.getComparatorIgnoringType());
- byte [] t50 = Bytes.toBytes("050");
- memstore.getRowKeyAtOrBefore(new KeyValue(t50, System.currentTimeMillis()),
- results);
- assertTrue(KeyValue.COMPARATOR.compareRows(results.last(), t40) == 0);
- }
-
-
+
/** Test getNextRow from memstore
* @throws InterruptedException
*/
@@ -434,8 +414,7 @@
assertEquals(expected.get(i), result.get(i));
}
}
-
-
+
//////////////////////////////////////////////////////////////////////////////
// Delete tests
//////////////////////////////////////////////////////////////////////////////
@@ -606,8 +585,19 @@
* @throws IOException
*/
private int addRows(final MemStore hmc) {
+ return addRows(hmc, HConstants.LATEST_TIMESTAMP);
+ }
+
+ /**
+ * Adds {@link #ROW_COUNT} rows and {@link #COLUMNS_COUNT}
+ * @param hmc Instance to add rows to.
+ * @return How many rows we added.
+ * @throws IOException
+ */
+ private int addRows(final MemStore hmc, final long ts) {
for (int i = 0; i < ROW_COUNT; i++) {
- long timestamp = System.currentTimeMillis();
+ long timestamp = ts == HConstants.LATEST_TIMESTAMP?
+ System.currentTimeMillis(): ts;
for (int ii = 0; ii < QUALIFIER_COUNT; ii++) {
byte [] row = Bytes.toBytes(i);
byte [] qf = makeQualifier(i, ii);
@@ -653,4 +643,4 @@
return new KeyValue(row, Bytes.toBytes("test_col:"),
HConstants.LATEST_TIMESTAMP, value);
}
-}
\ No newline at end of file
+}
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestScanWildcardColumnTracker.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestScanWildcardColumnTracker.java?rev=813052&r1=813051&r2=813052&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestScanWildcardColumnTracker.java (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestScanWildcardColumnTracker.java Wed Sep 9 17:14:22 2009
@@ -75,7 +75,7 @@
}
}
- public void testCheckColumn_WrongOrder() {
+ public void DisabledTestCheckColumn_WrongOrder() {
//Create a WildcardColumnTracker
ScanWildcardColumnTracker tracker =
new ScanWildcardColumnTracker(VERSIONS);
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStore.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStore.java?rev=813052&r1=813051&r2=813052&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStore.java (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStore.java Wed Sep 9 17:14:22 2009
@@ -406,5 +406,4 @@
long storeTs = results.get(0).getTimestamp();
assertTrue(icvTs != storeTs);
}
-
-}
+}
\ No newline at end of file
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreFile.java?rev=813052&r1=813051&r2=813052&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreFile.java (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreFile.java Wed Sep 9 17:14:22 2009
@@ -19,9 +19,6 @@
*/
package org.apache.hadoop.hbase.regionserver;
-import java.io.IOException;
-import java.nio.ByteBuffer;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.dfs.MiniDFSCluster;
@@ -35,6 +32,9 @@
import org.apache.hadoop.hbase.io.hfile.HFileScanner;
import org.apache.hadoop.hbase.util.Bytes;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
/**
* Test HStoreFile
*/