This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new eb6b2745c55 HBASE-27309 Add major compact table or region operation on
master web table page (#4793)
eb6b2745c55 is described below
commit eb6b2745c550905e92dcfee34e558a0901944da5
Author: SiCheng-Zheng <[email protected]>
AuthorDate: Tue Oct 4 23:10:25 2022 +0800
HBASE-27309 Add major compact table or region operation on master web table
page (#4793)
Co-authored-by: zhengsicheng <[email protected]>
Signed-off-by: Duo Zhang <[email protected]>
---
.../main/resources/hbase-webapps/master/table.jsp | 33 +++++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
index 2c4497ccefe..296e0e77f73 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/table.jsp
@@ -233,7 +233,7 @@
<% return;
} %>
-<% // table split/compact/merge actions
+<% // table split/major compact/compact/merge actions
if ( !readOnly && action != null ) { %>
<div class="container-fluid content">
<div class="row inner_header">
@@ -249,6 +249,20 @@
admin.split(TableName.valueOf(fqtn));
}
%> Split request accepted. <%
+ } else if (action.equals("major compact")) {
+ if (key != null && key.length() > 0) {
+ List<RegionInfo> regions =
admin.getRegions(TableName.valueOf(fqtn)).get();
+ byte[] row = Bytes.toBytes(key);
+
+ for (RegionInfo region : regions) {
+ if (region.containsRow(row)) {
+ admin.majorCompactRegion(region.getRegionName());
+ }
+ }
+ } else {
+ admin.majorCompact(TableName.valueOf(fqtn));
+ }
+%> major Compact request accepted. <%
} else if (action.equals("compact")) {
if (key != null && key.length() > 0) {
List<RegionInfo> regions =
admin.getRegions(TableName.valueOf(fqtn)).get();
@@ -1152,6 +1166,23 @@ Actions:
<p>
<center>
<table class="table" style="border: 0;" width="95%" >
+<tr>
+ <form method="get">
+ <input type="hidden" name="action" value="major compact" />
+ <input type="hidden" name="name" value="<%= escaped_fqtn %>" />
+ <td class="centered">
+ <input style="font-size: 12pt; width: 10em" type="submit" value="Major
Compact" class="btn" />
+ </td>
+ <td style="text-align: center;">
+ <input type="text" name="key" size="40" placeholder="Row Key (optional)" />
+ </td>
+ <td>
+ This action will force a major compaction of all regions of the table, or,
+ if a key is supplied, only the region major containing the
+ given key.
+ </td>
+ </form>
+</tr>
<tr>
<form method="get">
<input type="hidden" name="action" value="compact" />