%-- /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ --%> <%@ page contentType="text/html;charset=UTF-8" import="java.util.Date" import="java.util.HashMap" import="org.apache.hadoop.conf.Configuration" import="org.apache.hadoop.hbase.client.HBaseAdmin" import="org.apache.hadoop.hbase.client.HConnectionManager" import="org.apache.hadoop.hbase.HRegionInfo" import="org.apache.hadoop.hbase.master.HMaster" import="org.apache.hadoop.hbase.util.Bytes" import="org.apache.hadoop.hbase.util.FSUtils" import="org.apache.hadoop.hbase.protobuf.ProtobufUtil" import="org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription" import="org.apache.hadoop.hbase.snapshot.SnapshotInfo" import="org.apache.hadoop.util.StringUtils" import="java.util.List" import="java.util.Map" import="org.apache.hadoop.hbase.HConstants"%><% HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER); Configuration conf = master.getConfiguration(); HBaseAdmin hbadmin = new HBaseAdmin(conf); boolean readOnly = conf.getBoolean("hbase.master.ui.readonly", false); String snapshotName = request.getParameter("name"); SnapshotDescription snapshot = null; SnapshotInfo.SnapshotStats stats = null; for (SnapshotDescription snapshotDesc: hbadmin.listSnapshots()) { if (snapshotName.equals(snapshotDesc.getName())) { snapshot = snapshotDesc; stats = SnapshotInfo.getSnapshotStats(conf, snapshot); break; } } String action = request.getParameter("action"); String cloneName = request.getParameter("cloneName"); boolean isActionResultPage = (!readOnly && action != null); %>
<% if (isActionResultPage) { %>Go Back, or wait for the redirect. <% } else if (snapshot == null) { %>
Go Back, or wait for the redirect. <% } else { %>
Table | Creation Time | Type | Format Version | State | |
---|---|---|---|---|---|
<%= snapshot.getTable() %> | <%= new Date(snapshot.getCreationTime()) %> | <%= snapshot.getType() %> | <%= snapshot.getVersion() %> | <% if (stats.isSnapshotCorrupted()) { %>CORRUPTED | <% } else { %>ok | <% } %>
<%= stats.getStoreFilesCount() %> HFiles (<%= stats.getArchivedStoreFilesCount() %> in archive), total size <%= StringUtils.humanReadableInt(stats.getStoreFilesSize()) %> (<%= stats.getSharedStoreFilePercentage() %>% <%= StringUtils.humanReadableInt(stats.getSharedStoreFilesSize()) %> shared with the source table)
<%= stats.getLogsCount() %> Logs, total size <%= StringUtils.humanReadableInt(stats.getLogsSize()) %>
<% if (stats.isSnapshotCorrupted()) { %><%= stats.getMissingStoreFilesCount() %> hfile(s) and <%= stats.getMissingLogsCount() %> log(s) missing.
<% } %> <% } // end else HConnectionManager.deleteConnection(hbadmin.getConfiguration()); %> <% if (!readOnly && action == null && snapshot != null) { %>
Actions:
<% } %>