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/11/25 23:30:39 UTC
svn commit: r884310 [7/7] - in /hadoop/hbase/branches/0.20_on_hadoop-0.18.3:
./ bin/ conf/ lib/ src/contrib/ src/contrib/ec2/ src/contrib/ec2/bin/
src/contrib/ec2/bin/image/
src/contrib/transactional/src/java/org/apache/hadoop/hbase/client/tableindexed...
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java?rev=884310&r1=884309&r2=884310&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java Wed Nov 25 22:30:29 2009
@@ -354,4 +354,46 @@
results.clear();
assertEquals(false, scan.next(results));
}
+
+ /**
+ * Test expiration of KeyValues in combination with a configured TTL for
+ * a column family (as should be triggered in a major compaction).
+ */
+ public void testWildCardTtlScan() throws IOException {
+ long now = System.currentTimeMillis();
+ KeyValue [] kvs = new KeyValue[] {
+ KeyValueTestUtil.create("R1", "cf", "a", now-1000, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R1", "cf", "b", now-10, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R1", "cf", "c", now-200, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R1", "cf", "d", now-10000, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R2", "cf", "a", now, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R2", "cf", "b", now-10, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R2", "cf", "c", now-200, KeyValue.Type.Put, "dont-care"),
+ KeyValueTestUtil.create("R2", "cf", "c", now-1000, KeyValue.Type.Put, "dont-care")
+ };
+ KeyValueScanner [] scanners = new KeyValueScanner[] {
+ new KeyValueScanFixture(KeyValue.COMPARATOR, kvs)
+ };
+ Scan scan = new Scan();
+ scan.setMaxVersions(1);
+ StoreScanner scanner =
+ new StoreScanner(scan, CF, 500, KeyValue.COMPARATOR,
+ null, scanners);
+
+ List<KeyValue> results = new ArrayList<KeyValue>();
+ assertEquals(true, scanner.next(results));
+ assertEquals(2, results.size());
+ assertEquals(kvs[1], results.get(0));
+ assertEquals(kvs[2], results.get(1));
+ results.clear();
+
+ assertEquals(true, scanner.next(results));
+ assertEquals(3, results.size());
+ assertEquals(kvs[4], results.get(0));
+ assertEquals(kvs[5], results.get(1));
+ assertEquals(kvs[6], results.get(2));
+ results.clear();
+
+ assertEquals(false, scanner.next(results));
+ }
}
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestWildcardColumnTracker.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestWildcardColumnTracker.java?rev=884310&r1=884309&r2=884310&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestWildcardColumnTracker.java (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/test/org/apache/hadoop/hbase/regionserver/TestWildcardColumnTracker.java Wed Nov 25 22:30:29 2009
@@ -330,6 +330,23 @@
}
}
}
+
+ // HBASE-1781
+ public void testStackOverflow(){
+ int maxVersions = 1;
+
+ ColumnTracker wild = new WildcardColumnTracker(maxVersions);
+ for(int i = 0; i < 100000; i+=2) {
+ byte [] col = Bytes.toBytes("col"+i);
+ wild.checkColumn(col, 0, col.length);
+ }
+ wild.update();
+
+ for(int i = 1; i < 100000; i+=2) {
+ byte [] col = Bytes.toBytes("col"+i);
+ wild.checkColumn(col, 0, col.length);
+ }
+ }
Modified: hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/webapps/master/table.jsp
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/webapps/master/table.jsp?rev=884310&r1=884309&r2=884310&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/webapps/master/table.jsp (original)
+++ hadoop/hbase/branches/0.20_on_hadoop-0.18.3/src/webapps/master/table.jsp Wed Nov 25 22:30:29 2009
@@ -110,7 +110,7 @@
<tr>
<td><%= Bytes.toString(meta.getRegionName()) %></td>
<td><a href="<%= url %>"><%= meta.getServer().getHostname().toString() + ":" + infoPort %></a></td>
- <td>-</td><td><%= Bytes.toString(meta.getStartKey()) %></td><td>-</td>
+ <td>-</td><td><%= Bytes.toString(meta.getStartKey()) %></td><td><%= Bytes.toString(meta.getEndKey()) %></td>
</tr>
<% } %>
</table>
@@ -131,15 +131,11 @@
int infoPort = serverAddressToServerInfos.get(
hriEntry.getValue()).getInfoPort();
- String urlRegionHistorian =
- "/regionhistorian.jsp?regionname="+
- Bytes.toStringBinary(hriEntry.getKey().getRegionName());
-
String urlRegionServer =
"http://" + hriEntry.getValue().getHostname().toString() + ":" + infoPort + "/";
%>
<tr>
- <td><a href="<%= urlRegionHistorian %>"><%= Bytes.toStringBinary(hriEntry.getKey().getRegionName())%></a></td>
+ <td><%= Bytes.toStringBinary(hriEntry.getKey().getRegionName())%></td>
<td><a href="<%= urlRegionServer %>"><%= hriEntry.getValue().getHostname().toString() + ":" + infoPort %></a></td>
<td><%= hriEntry.getKey().getEncodedName()%></td> <td><%= Bytes.toStringBinary(hriEntry.getKey().getStartKey())%></td>
<td><%= Bytes.toStringBinary(hriEntry.getKey().getEndKey())%></td>