You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2009/05/21 18:35:43 UTC
svn commit: r777168 - in /hadoop/hbase/trunk: CHANGES.txt
src/java/org/apache/hadoop/hbase/regionserver/Store.java
src/webapps/master/master.jsp
Author: stack
Date: Thu May 21 16:35:43 2009
New Revision: 777168
URL: http://svn.apache.org/viewvc?rev=777168&view=rev
Log:
HBASE-1436 Killing regionserver can make corrupted hfile
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/Store.java
hadoop/hbase/trunk/src/webapps/master/master.jsp
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=777168&r1=777167&r2=777168&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Thu May 21 16:35:43 2009
@@ -149,6 +149,7 @@
HBASE-1415 Stuck on memcache flush
HBASE-1257 base64 encoded values are not contained in quotes during the
HBase REST JSON serialization (Brian Beggs via Stack)
+ HBASE-1436 Killing regionserver can make corrupted hfile
IMPROVEMENTS
HBASE-1089 Add count of regions on filesystem to master UI; add percentage
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/Store.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/Store.java?rev=777168&r1=777167&r2=777168&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/Store.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/Store.java Thu May 21 16:35:43 2009
@@ -356,7 +356,15 @@
LOG.warn("Skipping " + p + " because its empty. HBASE-646 DATA LOSS?");
continue;
}
- StoreFile curfile = new StoreFile(fs, p);
+ StoreFile curfile = null;
+ try {
+ curfile = new StoreFile(fs, p);
+ } catch (IOException ioe) {
+ LOG.warn("Failed open of " + p + "; presumption is that file was " +
+ "corrupted at flush and lost edits picked up by commit log replay. " +
+ "Verify!", ioe);
+ continue;
+ }
long storeSeqId = curfile.getMaxSequenceId();
if (storeSeqId > this.maxSeqId) {
this.maxSeqId = storeSeqId;
Modified: hadoop/hbase/trunk/src/webapps/master/master.jsp
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/webapps/master/master.jsp?rev=777168&r1=777167&r2=777168&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/webapps/master/master.jsp (original)
+++ hadoop/hbase/trunk/src/webapps/master/master.jsp Thu May 21 16:35:43 2009
@@ -7,9 +7,12 @@
import="org.apache.hadoop.hbase.HConstants"
import="org.apache.hadoop.hbase.master.MetaRegion"
import="org.apache.hadoop.hbase.client.HBaseAdmin"
+ import="org.apache.hadoop.hbase.io.ImmutableBytesWritable"
import="org.apache.hadoop.hbase.HServerInfo"
import="org.apache.hadoop.hbase.HServerAddress"
import="org.apache.hadoop.hbase.HBaseConfiguration"
+ import="org.apache.hadoop.hbase.HColumnDescriptor"
+ import="org.apache.hadoop.hbase.client.tableindexed.IndexSpecification"
import="org.apache.hadoop.hbase.HTableDescriptor" %><%
HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER);
HBaseConfiguration conf = master.getConfiguration();
@@ -29,6 +32,17 @@
<meta http-equiv="refresh" content="300"/>
<title>HBase Master: <%= master.getMasterAddress().getHostname()%>:<%= master.getMasterAddress().getPort() %></title>
<link rel="stylesheet" type="text/css" href="/static/hbase.css" />
+<link rel="stylesheet" type="text/css" href="/static/jquery.treeview.css" />
+<script src="/static/scripts/jquery-1.3.1.min.js" type="text/javascript"></script>
+<script src="/static/scripts/jquery.cookie.js" type="text/javascript"></script>
+<script src="/static/scripts/jquery.treeview.pack.js" type="text/javascript"></script>
+<script>
+$(document).ready(function(){
+ $("#tables").treeview({
+ control: "#tablecontrol",
+ persist: "cookie"
+ });
+});</script>
</head>
<body>
@@ -83,7 +97,7 @@
%>
<table>
-<tr><th rowspan=<%= serverToServerInfos.size() + 1%>></th><th>Address</th><th>Start Code</th><th>Load</th></tr>
+<tr><th rowspan="<%= serverToServerInfos.size() + 1%>"></th><th>Address</th><th>Start Code</th><th>Load</th></tr>
<% String[] serverNames = serverToServerInfos.keySet().toArray(new String[serverToServerInfos.size()]);
Arrays.sort(serverNames);
for (String serverName: serverNames) {