%-- /** * 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="org.apache.hadoop.conf.Configuration" import="org.apache.hadoop.hbase.client.HBaseAdmin" import="org.apache.hadoop.hbase.client.HConnectionManager" import="org.apache.hadoop.hbase.master.HMaster" import="org.apache.hadoop.hbase.snapshot.SnapshotInfo" import="org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription" import="org.apache.hadoop.util.StringUtils" import="org.apache.hadoop.hbase.TableName" import="org.apache.hadoop.hbase.HBaseConfiguration" %> <% 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; TableName snapshotTable = null; for (SnapshotDescription snapshotDesc: hbadmin.listSnapshots()) { if (snapshotName.equals(snapshotDesc.getName())) { snapshot = snapshotDesc; stats = SnapshotInfo.getSnapshotStats(conf, snapshot); snapshotTable = TableName.valueOf(snapshot.getTable()); break; } } String action = request.getParameter("action"); String cloneName = request.getParameter("cloneName"); boolean isActionResultPage = (!readOnly && action != null); %>
<% if (isActionResultPage) { %><% if (action.equals("restore")) { hbadmin.restoreSnapshot(snapshotName); %> Restore Snapshot request accepted. <% } else if (action.equals("clone")) { if (cloneName != null && cloneName.length() > 0) { hbadmin.cloneSnapshot(snapshotName, cloneName); %> Clone from Snapshot request accepted. <% } else { %> Clone from Snapshot request failed, No table name specified. <% } } %>
Go Back, or wait for the redirect.
Go Back, or wait for the redirect. <% } else { %>
Table | Creation Time | Type | Format Version | State | |
---|---|---|---|---|---|
<%= snapshotTable.getNameAsString() %> | <%= new Date(snapshot.getCreationTime()) %> | <%= snapshot.getType() %> | <%= snapshot.getVersion() %> | <% if (stats.isSnapshotCorrupted()) { %>CORRUPTED | <% } else { %>ok | <% } %>
Actions: