Review Board 1.7.22


HBASE-5676: Change append checks to sync and hflush checks.

Review Request #4999 - Created May 3, 2012 and updated

David Wang
0.96
HBASE-5676
Reviewers
hbase
hbase-git
Change append checks to sync and hflush checks, in keeping with the spirit of the original code.

Should only be applied to 0.96, as only 0.96 will support Hadoop 1.x+ according to HBASE-5536.
Passed local -PrunAllTests.  Passed test-patch.sh:


+1 overall.  

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 9 new or modified tests.

    +1 hadoop23.  The patch compiles against the hadoop 0.23.x profile.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs (version ) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.
src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
Revision 6bc2cf2 New Change
1
<%doc>
1
<%doc>
2
Copyright 2011 The Apache Software Foundation
2
Copyright 2011 The Apache Software Foundation
3

    
   
3

   
4
Licensed to the Apache Software Foundation (ASF) under one
4
Licensed to the Apache Software Foundation (ASF) under one
5
or more contributor license agreements.  See the NOTICE file
5
or more contributor license agreements.  See the NOTICE file
6
distributed with this work for additional information
6
distributed with this work for additional information
7
regarding copyright ownership.  The ASF licenses this file
7
regarding copyright ownership.  The ASF licenses this file
8
to you under the Apache License, Version 2.0 (the
8
to you under the Apache License, Version 2.0 (the
9
"License"); you may not use this file except in compliance
9
"License"); you may not use this file except in compliance
10
with the License.  You may obtain a copy of the License at
10
with the License.  You may obtain a copy of the License at
11

    
   
11

   
12
    http://www.apache.org/licenses/LICENSE-2.0
12
    http://www.apache.org/licenses/LICENSE-2.0
13

    
   
13

   
14
Unless required by applicable law or agreed to in writing, software
14
Unless required by applicable law or agreed to in writing, software
15
distributed under the License is distributed on an "AS IS" BASIS,
15
distributed under the License is distributed on an "AS IS" BASIS,
16
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
See the License for the specific language governing permissions and
17
See the License for the specific language governing permissions and
18
limitations under the License.
18
limitations under the License.
19
</%doc>
19
</%doc>
20
<%args>
20
<%args>
21
HMaster master;
21
HMaster master;
22
HBaseAdmin admin;
22
HBaseAdmin admin;
23
Map<String, Integer> frags = null;
23
Map<String, Integer> frags = null;
24
ServerName rootLocation = null;
24
ServerName rootLocation = null;
25
ServerName metaLocation = null;
25
ServerName metaLocation = null;
26
List<ServerName> servers = null;
26
List<ServerName> servers = null;
27
Set<ServerName> deadServers = null;
27
Set<ServerName> deadServers = null;
28
boolean showAppendWarning = false;
28
boolean showSyncWarning = false;

    
   
29
boolean showHflushWarning = false;
29
String filter = "general";
30
String filter = "general";
30
String format = "html";
31
String format = "html";
31
</%args>
32
</%args>
32
<%import>
33
<%import>
33
java.util.*;
34
java.util.*;
34
org.apache.hadoop.util.StringUtils;
35
org.apache.hadoop.util.StringUtils;
35
org.apache.hadoop.hbase.util.Bytes;
36
org.apache.hadoop.hbase.util.Bytes;
36
org.apache.hadoop.hbase.util.JvmVersion;
37
org.apache.hadoop.hbase.util.JvmVersion;
37
org.apache.hadoop.hbase.util.FSUtils;
38
org.apache.hadoop.hbase.util.FSUtils;
38
org.apache.hadoop.hbase.master.HMaster;
39
org.apache.hadoop.hbase.master.HMaster;
39
org.apache.hadoop.hbase.HConstants;
40
org.apache.hadoop.hbase.HConstants;
40
org.apache.hadoop.hbase.ServerLoad;
41
org.apache.hadoop.hbase.ServerLoad;
41
org.apache.hadoop.hbase.ServerName;
42
org.apache.hadoop.hbase.ServerName;
42
org.apache.hadoop.hbase.client.HBaseAdmin;
43
org.apache.hadoop.hbase.client.HBaseAdmin;
43
org.apache.hadoop.hbase.client.HConnectionManager;
44
org.apache.hadoop.hbase.client.HConnectionManager;
44
org.apache.hadoop.hbase.HTableDescriptor;
45
org.apache.hadoop.hbase.HTableDescriptor;
45
org.apache.hadoop.hbase.HBaseConfiguration;
46
org.apache.hadoop.hbase.HBaseConfiguration;
46
</%import>
47
</%import>
47
<%if format.equals("json") %>
48
<%if format.equals("json") %>
48
  <& ../common/TaskMonitorTmpl; filter = filter; format = "json" &>
49
  <& ../common/TaskMonitorTmpl; filter = filter; format = "json" &>
49
  <%java return; %>
50
  <%java return; %>
50
</%if>
51
</%if>
51
<?xml version="1.0" encoding="UTF-8" ?>
52
<?xml version="1.0" encoding="UTF-8" ?>
52
<!-- Commenting out DOCTYPE so our blue outline shows on hadoop 0.20.205.0, etc.
53
<!-- Commenting out DOCTYPE so our blue outline shows on hadoop 0.20.205.0, etc.
53
     See tail of HBASE-2110 for explaination.
54
     See tail of HBASE-2110 for explaination.
54
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
55
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
55
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
56
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
56
-->
57
-->
57
<html xmlns="http://www.w3.org/1999/xhtml">
58
<html xmlns="http://www.w3.org/1999/xhtml">
58
<head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
59
<head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
59
<title>HBase Master: <% master.getServerName() %></title>
60
<title>HBase Master: <% master.getServerName() %></title>
60
<link rel="stylesheet" type="text/css" href="/static/hbase.css" />
61
<link rel="stylesheet" type="text/css" href="/static/hbase.css" />
61
</head>
62
</head>
62
<body>
63
<body>
63
<a id="logo" href="http://wiki.apache.org/lucene-hadoop/Hbase"><img src="/static/hbase_logo.png" alt="HBase Logo" title="HBase Logo" /></a>
64
<a id="logo" href="http://wiki.apache.org/lucene-hadoop/Hbase"><img src="/static/hbase_logo.png" alt="HBase Logo" title="HBase Logo" /></a>
64
<h1 id="page_title">Master: <% master.getServerName().getHostname() %>:<% master.getServerName().getPort() %></h1>
65
<h1 id="page_title">Master: <% master.getServerName().getHostname() %>:<% master.getServerName().getPort() %></h1>
65
<p id="links_menu">
66
<p id="links_menu">
66
  <a href="/logs/">Local logs</a>,
67
  <a href="/logs/">Local logs</a>,
67
  <a href="/stacks">Thread Dump</a>,
68
  <a href="/stacks">Thread Dump</a>,
68
  <a href="/logLevel">Log Level</a>,
69
  <a href="/logLevel">Log Level</a>,
69
  <a href="/dump">Debug dump</a>,
70
  <a href="/dump">Debug dump</a>,
70
<%if HBaseConfiguration.isShowConfInServlet()%>
71
<%if HBaseConfiguration.isShowConfInServlet()%>
71
  <a href="/conf">HBase Configuration</a>
72
  <a href="/conf">HBase Configuration</a>
72
</%if>
73
</%if>
73
</p>
74
</p>
74

    
   
75

   
75
<!-- Various warnings that cluster admins should be aware of -->
76
<!-- Various warnings that cluster admins should be aware of -->
76
<%if JvmVersion.isBadJvmVersion() %>
77
<%if JvmVersion.isBadJvmVersion() %>
77
  <div class="warning">
78
  <div class="warning">
78
  Your current JVM version <% System.getProperty("java.version") %> is known to be
79
  Your current JVM version <% System.getProperty("java.version") %> is known to be
79
  unstable with HBase. Please see the
80
  unstable with HBase. Please see the
80
  <a href="http://wiki.apache.org/hadoop/Hbase/Troubleshooting#A18">HBase wiki</a>
81
  <a href="http://wiki.apache.org/hadoop/Hbase/Troubleshooting#A18">HBase wiki</a>
81
  for details.
82
  for details.
82
  </div>
83
  </div>
83
</%if>
84
</%if>
84
<%if showAppendWarning %> 
85
<%if showSyncWarning && showHflushWarning %>
85
  <div class="warning">
86
  <div class="warning">
86
  You are currently running the HMaster without HDFS append support enabled.
87
  You are currently running the HMaster without either HDFS sync or hflush support enabled.
87
  This may result in data loss.
88
  This may result in data loss.
88
  Please see the <a href="http://wiki.apache.org/hadoop/Hbase/HdfsSyncSupport">HBase wiki</a>
89
  Please see the <a href="http://wiki.apache.org/hadoop/Hbase/HdfsSyncSupport">HBase wiki</a>
89
  for details.
90
  for details.
90
  </div>
91
  </div>
91
</%if>
92
</%if>
92

    
   
93

   
93
<hr id="head_rule" />
94
<hr id="head_rule" />
94
<h2>Attributes</h2>
95
<h2>Attributes</h2>
95
<table id="attributes_table">
96
<table id="attributes_table">
96
<tr><th>Attribute Name</th><th>Value</th><th>Description</th></tr>
97
<tr><th>Attribute Name</th><th>Value</th><th>Description</th></tr>
97
<tr><td>HBase Version</td><td><% org.apache.hadoop.hbase.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.hbase.util.VersionInfo.getRevision() %></td><td>HBase version and revision</td></tr>
98
<tr><td>HBase Version</td><td><% org.apache.hadoop.hbase.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.hbase.util.VersionInfo.getRevision() %></td><td>HBase version and revision</td></tr>
98
<tr><td>HBase Compiled</td><td><% org.apache.hadoop.hbase.util.VersionInfo.getDate() %>, <% org.apache.hadoop.hbase.util.VersionInfo.getUser() %></td><td>When HBase version was compiled and by whom</td></tr>
99
<tr><td>HBase Compiled</td><td><% org.apache.hadoop.hbase.util.VersionInfo.getDate() %>, <% org.apache.hadoop.hbase.util.VersionInfo.getUser() %></td><td>When HBase version was compiled and by whom</td></tr>
99
<tr><td>Hadoop Version</td><td><% org.apache.hadoop.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.util.VersionInfo.getRevision() %></td><td>Hadoop version and revision</td></tr>
100
<tr><td>Hadoop Version</td><td><% org.apache.hadoop.util.VersionInfo.getVersion() %>, r<% org.apache.hadoop.util.VersionInfo.getRevision() %></td><td>Hadoop version and revision</td></tr>
100
<tr><td>Hadoop Compiled</td><td><% org.apache.hadoop.util.VersionInfo.getDate() %>, <% org.apache.hadoop.util.VersionInfo.getUser() %></td><td>When Hadoop version was compiled and by whom</td></tr>
101
<tr><td>Hadoop Compiled</td><td><% org.apache.hadoop.util.VersionInfo.getDate() %>, <% org.apache.hadoop.util.VersionInfo.getUser() %></td><td>When Hadoop version was compiled and by whom</td></tr>
101
<tr><td>HBase Root Directory</td><td><% FSUtils.getRootDir(master.getConfiguration()).toString() %></td><td>Location of HBase home directory</td></tr>
102
<tr><td>HBase Root Directory</td><td><% FSUtils.getRootDir(master.getConfiguration()).toString() %></td><td>Location of HBase home directory</td></tr>
102
<tr><td>HBase Cluster ID</td><td><% master.getClusterId() != null ? master.getClusterId() : "Not set" %><td>Unique identifier generated for each HBase cluster</td></tr>
103
<tr><td>HBase Cluster ID</td><td><% master.getClusterId() != null ? master.getClusterId() : "Not set" %><td>Unique identifier generated for each HBase cluster</td></tr>
103
<tr><td>Load average</td><td><% StringUtils.limitDecimalTo2(master.getServerManager().getAverageLoad()) %></td><td>Average number of regions per regionserver. Naive computation.</td></tr>
104
<tr><td>Load average</td><td><% StringUtils.limitDecimalTo2(master.getServerManager().getAverageLoad()) %></td><td>Average number of regions per regionserver. Naive computation.</td></tr>
104
<%if frags != null %>
105
<%if frags != null %>
105
        <tr><td>Fragmentation</td><td><% frags.get("-TOTAL-") != null ? frags.get("-TOTAL-").intValue() + "%" : "n/a" %></td><td>Overall fragmentation of all tables, including .META. and -ROOT-.</td></tr>
106
        <tr><td>Fragmentation</td><td><% frags.get("-TOTAL-") != null ? frags.get("-TOTAL-").intValue() + "%" : "n/a" %></td><td>Overall fragmentation of all tables, including .META. and -ROOT-.</td></tr>
106
</%if>
107
</%if>
107
<tr><td>Zookeeper Quorum</td><td><% master.getZooKeeperWatcher().getQuorum() %></td><td>Addresses of all registered ZK servers. For more, see <a href="/zk.jsp">zk dump</a>.</td></tr>
108
<tr><td>Zookeeper Quorum</td><td><% master.getZooKeeperWatcher().getQuorum() %></td><td>Addresses of all registered ZK servers. For more, see <a href="/zk.jsp">zk dump</a>.</td></tr>
108
<tr>
109
<tr>
109
  <td>
110
  <td>
110
   Coprocessors</td><td><% java.util.Arrays.toString(master.getCoprocessors()) %>
111
   Coprocessors</td><td><% java.util.Arrays.toString(master.getCoprocessors()) %>
111
  </td>
112
  </td>
112
  <td>Coprocessors currently loaded loaded by the master</td>
113
  <td>Coprocessors currently loaded loaded by the master</td>
113
</tr>
114
</tr>
114
<tr><td>HMaster Start Time</td><td><% new Date(master.getMasterStartTime()) %></td><td>Date stamp of when this HMaster was started</td></tr>
115
<tr><td>HMaster Start Time</td><td><% new Date(master.getMasterStartTime()) %></td><td>Date stamp of when this HMaster was started</td></tr>
115
<tr><td>HMaster Active Time</td><td><% new Date(master.getMasterActiveTime()) %></td><td>Date stamp of when this HMaster became active</td></tr>
116
<tr><td>HMaster Active Time</td><td><% new Date(master.getMasterActiveTime()) %></td><td>Date stamp of when this HMaster became active</td></tr>
116
</table>
117
</table>
117

    
   
118

   
118
<& ../common/TaskMonitorTmpl; filter = filter &>
119
<& ../common/TaskMonitorTmpl; filter = filter &>
119

    
   
120

   
120
<%if (rootLocation != null) %>
121
<%if (rootLocation != null) %>
121
<& catalogTables &>
122
<& catalogTables &>
122
</%if>
123
</%if>
123
<%if (metaLocation != null) %>
124
<%if (metaLocation != null) %>
124
<& userTables &>
125
<& userTables &>
125
</%if>
126
</%if>
126
<%if (servers != null) %>
127
<%if (servers != null) %>
127
<& regionServers &>
128
<& regionServers &>
128
</%if>
129
</%if>
129
<%if (deadServers != null) %>
130
<%if (deadServers != null) %>
130
<& deadRegionServers &>
131
<& deadRegionServers &>
131
</%if>
132
</%if>
132

    
   
133

   
133
<& AssignmentManagerStatusTmpl; assignmentManager=master.getAssignmentManager()&>
134
<& AssignmentManagerStatusTmpl; assignmentManager=master.getAssignmentManager()&>
134

    
   
135

   
135
</body>
136
</body>
136
</html>
137
</html>
137

    
   
138

   
138

    
   
139

   
139
<%def catalogTables>
140
<%def catalogTables>
140
<h2>Tables</h2>
141
<h2>Tables</h2>
141
<table>
142
<table>
142
<tr>
143
<tr>
143
    <th>Catalog Table</th>
144
    <th>Catalog Table</th>
144
    <%if (frags != null) %>
145
    <%if (frags != null) %>
145
        <th title="Fragmentation - Will be 0% after a major compaction and fluctuate during normal usage.">Frag.</th>
146
        <th title="Fragmentation - Will be 0% after a major compaction and fluctuate during normal usage.">Frag.</th>
146
    </%if>
147
    </%if>
147
    <th>Description</th>
148
    <th>Description</th>
148
</tr>
149
</tr>
149
<tr>
150
<tr>
150
    <td><a href="table.jsp?name=<% Bytes.toString(HConstants.ROOT_TABLE_NAME) %>"><% Bytes.toString(HConstants.ROOT_TABLE_NAME) %></a></td>
151
    <td><a href="table.jsp?name=<% Bytes.toString(HConstants.ROOT_TABLE_NAME) %>"><% Bytes.toString(HConstants.ROOT_TABLE_NAME) %></a></td>
151
  <%if (frags != null)%>
152
  <%if (frags != null)%>
152
        <td align="center"><% frags.get("-ROOT-") != null ? frags.get("-ROOT-").intValue() + "%" : "n/a" %></td>
153
        <td align="center"><% frags.get("-ROOT-") != null ? frags.get("-ROOT-").intValue() + "%" : "n/a" %></td>
153
  </%if>
154
  </%if>
154
    <td>The -ROOT- table holds references to all .META. regions.</td>
155
    <td>The -ROOT- table holds references to all .META. regions.</td>
155
</tr>
156
</tr>
156
  <%if (metaLocation != null) %>
157
  <%if (metaLocation != null) %>
157
<tr>
158
<tr>
158
    <td><a href="table.jsp?name=<% Bytes.toString(HConstants.META_TABLE_NAME) %>"><% Bytes.toString(HConstants.META_TABLE_NAME) %></a></td>
159
    <td><a href="table.jsp?name=<% Bytes.toString(HConstants.META_TABLE_NAME) %>"><% Bytes.toString(HConstants.META_TABLE_NAME) %></a></td>
159
    <%if (frags != null)%>
160
    <%if (frags != null)%>
160
        <td align="center"><% frags.get(".META.") != null ? frags.get(".META.").intValue() + "%" : "n/a" %></td>
161
        <td align="center"><% frags.get(".META.") != null ? frags.get(".META.").intValue() + "%" : "n/a" %></td>
161
    </%if>
162
    </%if>
162
    <td>The .META. table holds references to all User Table regions</td>
163
    <td>The .META. table holds references to all User Table regions</td>
163
</tr>
164
</tr>
164
  
165
  
165
  </%if>
166
  </%if>
166
</table>
167
</table>
167
</%def>
168
</%def>
168

    
   
169

   
169
<%def userTables>
170
<%def userTables>
170
<%java>
171
<%java>
171
   HTableDescriptor[] tables = admin.listTables();
172
   HTableDescriptor[] tables = admin.listTables();
172
   HConnectionManager.deleteConnection(admin.getConfiguration(), false);
173
   HConnectionManager.deleteConnection(admin.getConfiguration(), false);
173
</%java>
174
</%java>
174
<%if (tables != null && tables.length > 0)%>
175
<%if (tables != null && tables.length > 0)%>
175
<table>
176
<table>
176
<tr>
177
<tr>
177
    <th>User Table</th>
178
    <th>User Table</th>
178
<%if (frags != null) %>
179
<%if (frags != null) %>
179
        <th title="Fragmentation - Will be 0% after a major compaction and fluctuate during normal usage.">Frag.</th>
180
        <th title="Fragmentation - Will be 0% after a major compaction and fluctuate during normal usage.">Frag.</th>
180
</%if>
181
</%if>
181
    <th>Description</th>
182
    <th>Description</th>
182
</tr>
183
</tr>
183
<%for HTableDescriptor htDesc : tables%>
184
<%for HTableDescriptor htDesc : tables%>
184
<tr>
185
<tr>
185
    <td><a href=table.jsp?name=<% htDesc.getNameAsString() %>><% htDesc.getNameAsString() %></a> </td>
186
    <td><a href=table.jsp?name=<% htDesc.getNameAsString() %>><% htDesc.getNameAsString() %></a> </td>
186
    <%if (frags != null) %>
187
    <%if (frags != null) %>
187
        <td align="center"><% frags.get(htDesc.getNameAsString()) != null ? frags.get(htDesc.getNameAsString()).intValue() + "%" : "n/a" %></td>
188
        <td align="center"><% frags.get(htDesc.getNameAsString()) != null ? frags.get(htDesc.getNameAsString()).intValue() + "%" : "n/a" %></td>
188
    </%if>
189
    </%if>
189
    <td><% htDesc.toStringCustomizedValues() %></td>
190
    <td><% htDesc.toStringCustomizedValues() %></td>
190
</tr>
191
</tr>
191
</%for>
192
</%for>
192

    
   
193

   
193
<p> <% tables.length %> table(s) in set. [<a href=tablesDetailed.jsp>Details</a>]</p>
194
<p> <% tables.length %> table(s) in set. [<a href=tablesDetailed.jsp>Details</a>]</p>
194
</table>
195
</table>
195
</%if>
196
</%if>
196
</%def>
197
</%def>
197

    
   
198

   
198
<%def regionServers>
199
<%def regionServers>
199
<h2>Region Servers</h2>
200
<h2>Region Servers</h2>
200
<%if (servers != null && servers.size() > 0)%>
201
<%if (servers != null && servers.size() > 0)%>
201
<%java>
202
<%java>
202
     int totalRegions = 0;
203
     int totalRegions = 0;
203
     int totalRequests = 0; 
204
     int totalRequests = 0; 
204
</%java>
205
</%java>
205

    
   
206

   
206
<table>
207
<table>
207
<tr><th rowspan="<% servers.size() + 1%>"></th><th>ServerName</th><th>Start time</th><th>Load</th></tr>
208
<tr><th rowspan="<% servers.size() + 1%>"></th><th>ServerName</th><th>Start time</th><th>Load</th></tr>
208
<%java>
209
<%java>
209
   ServerName [] serverNames = servers.toArray(new ServerName[servers.size()]);
210
   ServerName [] serverNames = servers.toArray(new ServerName[servers.size()]);
210
     Arrays.sort(serverNames);
211
     Arrays.sort(serverNames);
211
     for (ServerName serverName: serverNames) {
212
     for (ServerName serverName: serverNames) {
212
       // TODO: this is incorrect since this conf might differ from RS to RS
213
       // TODO: this is incorrect since this conf might differ from RS to RS
213
       // or be set to 0 to get ephemeral ports
214
       // or be set to 0 to get ephemeral ports
214
       int infoPort = master.getConfiguration().getInt("hbase.regionserver.info.port", 60030);
215
       int infoPort = master.getConfiguration().getInt("hbase.regionserver.info.port", 60030);
215
       String url = "http://" + serverName.getHostname() + ":" + infoPort + "/";
216
       String url = "http://" + serverName.getHostname() + ":" + infoPort + "/";
216
       ServerLoad sl = master.getServerManager().getLoad(serverName);
217
       ServerLoad sl = master.getServerManager().getLoad(serverName);
217
       String loadStr = sl == null? "-": sl.toString();
218
       String loadStr = sl == null? "-": sl.toString();
218
       if (sl != null) {
219
       if (sl != null) {
219
         totalRegions += sl.getRegionLoadsCount();
220
         totalRegions += sl.getRegionLoadsCount();
220
         // Is this correct?  Adding a rate to a measure.
221
         // Is this correct?  Adding a rate to a measure.
221
         totalRequests += sl.getRequestsPerSecond();
222
         totalRequests += sl.getRequestsPerSecond();
222
       }
223
       }
223
       long startcode = serverName.getStartcode();
224
       long startcode = serverName.getStartcode();
224
</%java>
225
</%java>
225
<tr><td><a href="<% url %>"><% serverName %></a></td><td><% new Date(startcode) %></td><td><% loadStr %></td></tr>
226
<tr><td><a href="<% url %>"><% serverName %></a></td><td><% new Date(startcode) %></td><td><% loadStr %></td></tr>
226
<%java>
227
<%java>
227
    }
228
    }
228
</%java>
229
</%java>
229
<tr><th>Total: </th><td>servers: <% servers.size() %></td><td></td><td>requestsPerSecond=<% totalRequests %>, numberOfOnlineRegions=<% totalRegions %></td></tr>
230
<tr><th>Total: </th><td>servers: <% servers.size() %></td><td></td><td>requestsPerSecond=<% totalRequests %>, numberOfOnlineRegions=<% totalRegions %></td></tr>
230
</table>
231
</table>
231

    
   
232

   
232
<p>Load is requests per second and count of regions loaded</p>
233
<p>Load is requests per second and count of regions loaded</p>
233
</%if>
234
</%if>
234
</%def>
235
</%def>
235

    
   
236

   
236
<%def deadRegionServers>
237
<%def deadRegionServers>
237
<h3>Dead Region Servers</h3>
238
<h3>Dead Region Servers</h3>
238
<%if (deadServers != null && deadServers.size() > 0)%>
239
<%if (deadServers != null && deadServers.size() > 0)%>
239

    
   
240

   
240
<table>
241
<table>
241
<tr><th rowspan="<% deadServers.size() + 1%>"></th><th>ServerName</th></tr>
242
<tr><th rowspan="<% deadServers.size() + 1%>"></th><th>ServerName</th></tr>
242
<%java>
243
<%java>
243
   ServerName [] deadServerNames = deadServers.toArray(new ServerName[deadServers.size()]);
244
   ServerName [] deadServerNames = deadServers.toArray(new ServerName[deadServers.size()]);
244
     Arrays.sort(deadServerNames);
245
     Arrays.sort(deadServerNames);
245
     for (ServerName deadServerName: deadServerNames) {
246
     for (ServerName deadServerName: deadServerNames) {
246
       int infoPort = master.getConfiguration().getInt("hbase.regionserver.info.port", 60030);
247
       int infoPort = master.getConfiguration().getInt("hbase.regionserver.info.port", 60030);
247
</%java>
248
</%java>
248
<tr><td><% deadServerName %></td></tr>
249
<tr><td><% deadServerName %></td></tr>
249
<%java>
250
<%java>
250
    }
251
    }
251
</%java>
252
</%java>
252
<tr><th>Total: </th><td>servers: <% deadServers.size() %></td></tr>
253
<tr><th>Total: </th><td>servers: <% deadServers.size() %></td></tr>
253
</table>
254
</table>
254
</%if>
255
</%if>
255
</%def>
256
</%def>
src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java
Revision a0aaaf4 New Change
 
src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java
Revision 302a3b1 New Change
 
src/main/java/org/apache/hadoop/hbase/util/FSUtils.java
Revision 3d35d3e New Change
 
src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java
Revision 3ea0a3b New Change
 
src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java
Revision cb7efc3 New Change
 
src/test/java/org/apache/hadoop/hbase/util/TestFSUtils.java
Revision 339a120 New Change
 
  1. src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon: Loading...
  2. src/main/java/org/apache/hadoop/hbase/master/MasterStatusServlet.java: Loading...
  3. src/main/java/org/apache/hadoop/hbase/util/FSHDFSUtils.java: Loading...
  4. src/main/java/org/apache/hadoop/hbase/util/FSUtils.java: Loading...
  5. src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java: Loading...
  6. src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java: Loading...
  7. src/test/java/org/apache/hadoop/hbase/util/TestFSUtils.java: Loading...