You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2016/11/04 20:54:41 UTC
[2/3] hbase git commit: HBASE-16892 Use TableName instead of String
in SnapshotDescription
HBASE-16892 Use TableName instead of String in SnapshotDescription
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/00ea7aea
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/00ea7aea
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/00ea7aea
Branch: refs/heads/master
Commit: 00ea7aeafe6f0070dedf86a296eefd5d3c453077
Parents: efe0a0e
Author: Matteo Bertozzi <ma...@cloudera.com>
Authored: Fri Nov 4 13:18:10 2016 -0700
Committer: Matteo Bertozzi <ma...@cloudera.com>
Committed: Fri Nov 4 13:18:10 2016 -0700
----------------------------------------------------------------------
.../apache/hadoop/hbase/client/HBaseAdmin.java | 49 ++++------------
.../hbase/client/SnapshotDescription.java | 61 +++++++++++++++++---
.../hbase/shaded/protobuf/ProtobufUtil.java | 9 +--
.../hbase/client/TestSnapshotFromAdmin.java | 19 ++++--
.../hbase/tmpl/master/MasterStatusTmpl.jamon | 2 +-
.../hadoop/hbase/snapshot/CreateSnapshot.java | 4 +-
.../hadoop/hbase/snapshot/SnapshotInfo.java | 30 ++++------
.../resources/hbase-webapps/master/snapshot.jsp | 2 +-
.../hbase/client/TestSnapshotFromClient.java | 2 +-
.../master/cleaner/TestSnapshotFromMaster.java | 24 ++++----
.../hbase/snapshot/SnapshotTestingUtils.java | 12 ++--
.../snapshot/TestFlushSnapshotFromClient.java | 10 ++--
12 files changed, 124 insertions(+), 100 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
index f4008fd..4e195d1 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
@@ -2338,14 +2338,15 @@ public class HBaseAdmin implements Admin {
public void snapshot(final String snapshotName, final TableName tableName,
SnapshotType type)
throws IOException, SnapshotCreationException, IllegalArgumentException {
- snapshot(new SnapshotDescription(snapshotName, tableName.getNameAsString(), type));
+ snapshot(new SnapshotDescription(snapshotName, tableName, type));
}
@Override
public void snapshot(SnapshotDescription snapshotDesc)
throws IOException, SnapshotCreationException, IllegalArgumentException {
// actually take the snapshot
- HBaseProtos.SnapshotDescription snapshot = createHBaseProtosSnapshotDesc(snapshotDesc);
+ HBaseProtos.SnapshotDescription snapshot =
+ ProtobufUtil.createHBaseProtosSnapshotDesc(snapshotDesc);
SnapshotResponse response = asyncSnapshot(snapshot);
final IsSnapshotDoneRequest request =
IsSnapshotDoneRequest.newBuilder().setSnapshot(snapshot).build();
@@ -2387,31 +2388,7 @@ public class HBaseAdmin implements Admin {
@Override
public void takeSnapshotAsync(SnapshotDescription snapshotDesc) throws IOException,
SnapshotCreationException {
- HBaseProtos.SnapshotDescription snapshot = createHBaseProtosSnapshotDesc(snapshotDesc);
- asyncSnapshot(snapshot);
- }
-
- private HBaseProtos.SnapshotDescription
- createHBaseProtosSnapshotDesc(SnapshotDescription snapshotDesc) {
- HBaseProtos.SnapshotDescription.Builder builder = HBaseProtos.SnapshotDescription.newBuilder();
- if (snapshotDesc.getTable() != null) {
- builder.setTable(snapshotDesc.getTable());
- }
- if (snapshotDesc.getName() != null) {
- builder.setName(snapshotDesc.getName());
- }
- if (snapshotDesc.getOwner() != null) {
- builder.setOwner(snapshotDesc.getOwner());
- }
- if (snapshotDesc.getCreationTime() != -1) {
- builder.setCreationTime(snapshotDesc.getCreationTime());
- }
- if (snapshotDesc.getVersion() != -1) {
- builder.setVersion(snapshotDesc.getVersion());
- }
- builder.setType(ProtobufUtil.createProtosSnapShotDescType(snapshotDesc.getType()));
- HBaseProtos.SnapshotDescription snapshot = builder.build();
- return snapshot;
+ asyncSnapshot(ProtobufUtil.createHBaseProtosSnapshotDesc(snapshotDesc));
}
private SnapshotResponse asyncSnapshot(HBaseProtos.SnapshotDescription snapshot)
@@ -2432,7 +2409,8 @@ public class HBaseAdmin implements Admin {
@Override
public boolean isSnapshotFinished(final SnapshotDescription snapshotDesc)
throws IOException, HBaseSnapshotException, UnknownSnapshotException {
- final HBaseProtos.SnapshotDescription snapshot = createHBaseProtosSnapshotDesc(snapshotDesc);
+ final HBaseProtos.SnapshotDescription snapshot =
+ ProtobufUtil.createHBaseProtosSnapshotDesc(snapshotDesc);
return executeCallable(new MasterCallable<IsSnapshotDoneResponse>(getConnection(),
getRpcControllerFactory()) {
@Override
@@ -2475,7 +2453,7 @@ public class HBaseAdmin implements Admin {
TableName tableName = null;
for (SnapshotDescription snapshotInfo: listSnapshots()) {
if (snapshotInfo.getName().equals(snapshotName)) {
- tableName = TableName.valueOf(snapshotInfo.getTable());
+ tableName = snapshotInfo.getTableName();
break;
}
}
@@ -2729,8 +2707,7 @@ public class HBaseAdmin implements Admin {
}
});
- return new RestoreSnapshotFuture(
- this, snapshot, TableName.valueOf(snapshot.getTable()), response);
+ return new RestoreSnapshotFuture(this, snapshot, tableName, response);
}
private static class RestoreSnapshotFuture extends TableFuture<Void> {
@@ -2772,9 +2749,7 @@ public class HBaseAdmin implements Admin {
.getSnapshotsList();
List<SnapshotDescription> result = new ArrayList<SnapshotDescription>(snapshotsList.size());
for (HBaseProtos.SnapshotDescription snapshot : snapshotsList) {
- result.add(new SnapshotDescription(snapshot.getName(), snapshot.getTable(),
- ProtobufUtil.createSnapshotType(snapshot.getType()), snapshot.getOwner(),
- snapshot.getCreationTime(), snapshot.getVersion()));
+ result.add(ProtobufUtil.createSnapshotDesc(snapshot));
}
return result;
}
@@ -2814,7 +2789,7 @@ public class HBaseAdmin implements Admin {
List<TableName> listOfTableNames = Arrays.asList(tableNames);
for (SnapshotDescription snapshot : snapshots) {
- if (listOfTableNames.contains(TableName.valueOf(snapshot.getTable()))) {
+ if (listOfTableNames.contains(snapshot.getTableName())) {
tableSnapshots.add(snapshot);
}
}
@@ -2857,7 +2832,7 @@ public class HBaseAdmin implements Admin {
internalDeleteSnapshot(snapshot);
} catch (IOException ex) {
LOG.info(
- "Failed to delete snapshot " + snapshot.getName() + " for table " + snapshot.getTable(),
+ "Failed to delete snapshot " + snapshot.getName() + " for table " + snapshot.getTableNameAsString(),
ex);
}
}
@@ -2868,7 +2843,7 @@ public class HBaseAdmin implements Admin {
@Override
protected Void rpcCall() throws Exception {
this.master.deleteSnapshot(getRpcController(), DeleteSnapshotRequest.newBuilder()
- .setSnapshot(createHBaseProtosSnapshotDesc(snapshot)).build());
+ .setSnapshot(ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot)).build());
return null;
}
});
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-client/src/main/java/org/apache/hadoop/hbase/client/SnapshotDescription.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/SnapshotDescription.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/SnapshotDescription.java
index f737825..b9b6b6c 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/SnapshotDescription.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/SnapshotDescription.java
@@ -16,6 +16,8 @@
* limitations under the License.
*/
package org.apache.hadoop.hbase.client;
+
+import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.classification.InterfaceAudience;
import org.apache.hadoop.hbase.classification.InterfaceStability;
@@ -25,31 +27,64 @@ import org.apache.hadoop.hbase.classification.InterfaceStability;
@InterfaceAudience.Public
@InterfaceStability.Evolving
public class SnapshotDescription {
- private String name;
- private String table;
- private SnapshotType snapShotType = SnapshotType.DISABLED;
- private String owner;
- private long creationTime = -1L;
- private int version = -1;
+ private final String name;
+ private final TableName table;
+ private final SnapshotType snapShotType;
+ private final String owner;
+ private final long creationTime;
+ private final int version;
public SnapshotDescription(String name) {
- this(name, null);
+ this(name, (TableName)null);
}
+ /**
+ * @deprecated Use the version with the TableName instance instead
+ */
+ @Deprecated
public SnapshotDescription(String name, String table) {
+ this(name, TableName.valueOf(table));
+ }
+
+ public SnapshotDescription(String name, TableName table) {
this(name, table, SnapshotType.DISABLED, null);
}
+ /**
+ * @deprecated Use the version with the TableName instance instead
+ */
+ @Deprecated
public SnapshotDescription(String name, String table, SnapshotType type) {
+ this(name, TableName.valueOf(table), type);
+ }
+
+ public SnapshotDescription(String name, TableName table, SnapshotType type) {
this(name, table, type, null);
}
+ /**
+ * @deprecated Use the version with the TableName instance instead
+ */
+ @Deprecated
public SnapshotDescription(String name, String table, SnapshotType type, String owner) {
+ this(name, TableName.valueOf(table), type, owner);
+ }
+
+ public SnapshotDescription(String name, TableName table, SnapshotType type, String owner) {
this(name, table, type, owner, -1, -1);
}
+ /**
+ * @deprecated Use the version with the TableName instance instead
+ */
+ @Deprecated
public SnapshotDescription(String name, String table, SnapshotType type, String owner,
long creationTime, int version) {
+ this(name, TableName.valueOf(table), type, owner, creationTime, version);
+ }
+
+ public SnapshotDescription(String name, TableName table, SnapshotType type, String owner,
+ long creationTime, int version) {
this.name = name;
this.table = table;
this.snapShotType = type;
@@ -62,7 +97,19 @@ public class SnapshotDescription {
return this.name;
}
+ /**
+ * @deprecated Use getTableName() or getTableNameAsString() instead.
+ */
+ @Deprecated
public String getTable() {
+ return getTableNameAsString();
+ }
+
+ public String getTableNameAsString() {
+ return this.table.getNameAsString();
+ }
+
+ public TableName getTableName() {
return this.table;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
index 94efa37..2758c26 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
@@ -2871,8 +2871,8 @@ public final class ProtobufUtil {
public static HBaseProtos.SnapshotDescription
createHBaseProtosSnapshotDesc(SnapshotDescription snapshotDesc) {
HBaseProtos.SnapshotDescription.Builder builder = HBaseProtos.SnapshotDescription.newBuilder();
- if (snapshotDesc.getTable() != null) {
- builder.setTable(snapshotDesc.getTable());
+ if (snapshotDesc.getTableName() != null) {
+ builder.setTable(snapshotDesc.getTableNameAsString());
}
if (snapshotDesc.getName() != null) {
builder.setName(snapshotDesc.getName());
@@ -2900,7 +2900,8 @@ public final class ProtobufUtil {
*/
public static SnapshotDescription
createSnapshotDesc(HBaseProtos.SnapshotDescription snapshotDesc) {
- return new SnapshotDescription(snapshotDesc.getName(), snapshotDesc.getTable(),
+ return new SnapshotDescription(snapshotDesc.getName(),
+ snapshotDesc.hasTable() ? TableName.valueOf(snapshotDesc.getTable()) : null,
createSnapshotType(snapshotDesc.getType()), snapshotDesc.getOwner(),
snapshotDesc.getCreationTime(), snapshotDesc.getVersion());
}
@@ -3176,7 +3177,7 @@ public final class ProtobufUtil {
* has a serialized {@link ServerName} in it.
* @return Returns null if <code>data</code> is null else converts passed data
* to a ServerName instance.
- * @throws DeserializationException
+ * @throws DeserializationException
*/
public static ServerName parseServerNameFrom(final byte [] data) throws DeserializationException {
if (data == null || data.length <= 0) return null;
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java
index ccb5206..6d3d142 100644
--- a/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java
+++ b/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.java
@@ -147,10 +147,10 @@ public class TestSnapshotFromAdmin {
failSnapshotStart(admin, new SnapshotDescription("snap$hot"));
failSnapshotStart(admin, new SnapshotDescription("snap:hot"));
// check the table name also get verified
- failSnapshotStart(admin, new SnapshotDescription("snapshot", ".table"));
- failSnapshotStart(admin, new SnapshotDescription("snapshot", "-table"));
- failSnapshotStart(admin, new SnapshotDescription("snapshot", "table fails"));
- failSnapshotStart(admin, new SnapshotDescription("snapshot", "tab%le"));
+ failSnapshotDescriptorCreation("snapshot", ".table");
+ failSnapshotDescriptorCreation("snapshot", "-table");
+ failSnapshotDescriptorCreation("snapshot", "table fails");
+ failSnapshotDescriptorCreation("snapshot", "tab%le");
// mock the master connection
MasterKeepAliveConnection master = Mockito.mock(MasterKeepAliveConnection.class);
@@ -165,7 +165,7 @@ public class TestSnapshotFromAdmin {
Mockito.any(IsSnapshotDoneRequest.class))).thenReturn(doneResponse);
// make sure that we can use valid names
- admin.snapshot(new SnapshotDescription("snapshot", "table"));
+ admin.snapshot(new SnapshotDescription("snapshot", TableName.valueOf("table")));
}
private void failSnapshotStart(Admin admin, SnapshotDescription snapshot)
@@ -177,4 +177,13 @@ public class TestSnapshotFromAdmin {
LOG.debug("Correctly failed to start snapshot:" + e.getMessage());
}
}
+
+ private void failSnapshotDescriptorCreation(final String snapshotName, final String tableName) {
+ try {
+ new SnapshotDescription(snapshotName, tableName);
+ fail("SnapshotDescription should not have succeed with name:" + snapshotName);
+ } catch (IllegalArgumentException e) {
+ LOG.debug("Correctly failed to create SnapshotDescription:" + e.getMessage());
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
index e967083..36d5112 100644
--- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
+++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
@@ -486,7 +486,7 @@ AssignmentManager assignmentManager = master.getAssignmentManager();
</tr>
<%for SnapshotDescription snapshotDesc : snapshots%>
<%java>
- TableName snapshotTable = TableName.valueOf(snapshotDesc.getTable());
+ TableName snapshotTable = snapshotDesc.getTableName();
</%java>
<tr>
<td><a href="snapshot.jsp?name=<% snapshotDesc.getName() %>"><% snapshotDesc.getName() %></a> </td>
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
index a65be93..f04bd63 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/CreateSnapshot.java
@@ -34,7 +34,7 @@ import java.util.Arrays;
* This is a command line class that will snapshot a given table.
*/
public class CreateSnapshot extends AbstractHBaseTool {
- private String tableName = null;
+ private TableName tableName = null;
private String snapshotName = null;
private String snapshotType = null;
@@ -53,7 +53,7 @@ public class CreateSnapshot extends AbstractHBaseTool {
@Override
protected void processOptions(CommandLine cmd) {
- this.tableName = cmd.getOptionValue('t');
+ this.tableName = TableName.valueOf(cmd.getOptionValue('t'));
this.snapshotName = cmd.getOptionValue('n');
this.snapshotType = cmd.getOptionValue('s');
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java
index ac309ec..cd20274 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotInfo.java
@@ -142,7 +142,7 @@ public final class SnapshotInfo extends Configured implements Tool {
final SnapshotDescription snapshot)
{
this.snapshot = ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);
- this.snapshotTable = TableName.valueOf(snapshot.getTable());
+ this.snapshotTable = snapshot.getTableName();
this.conf = conf;
this.fs = fs;
}
@@ -158,9 +158,7 @@ public final class SnapshotInfo extends Configured implements Tool {
/** @return the snapshot descriptor */
public SnapshotDescription getSnapshotDescription() {
- return new SnapshotDescription(this.snapshot.getName(), this.snapshot.getTable(),
- ProtobufUtil.createSnapshotType(this.snapshot.getType()), this.snapshot.getOwner(),
- this.snapshot.getCreationTime(), this.snapshot.getVersion());
+ return ProtobufUtil.createSnapshotDesc(this.snapshot);
}
/** @return true if the snapshot is corrupted */
@@ -399,7 +397,7 @@ public final class SnapshotInfo extends Configured implements Tool {
System.out.printf("%-20s | %20s | %s%n",
desc.getName(),
df.format(new Date(desc.getCreationTime())),
- desc.getTable());
+ desc.getTableNameAsString());
}
return 0;
}
@@ -485,9 +483,7 @@ public final class SnapshotInfo extends Configured implements Tool {
// Collect information about hfiles and logs in the snapshot
final HBaseProtos.SnapshotDescription snapshotDesc = snapshotManifest.getSnapshotDescription();
final String table = snapshotDesc.getTable();
- SnapshotDescription desc = new SnapshotDescription(snapshotDesc.getName(),
- snapshotDesc.getTable(), ProtobufUtil.createSnapshotType(snapshotDesc.getType()),
- snapshotDesc.getOwner(), snapshotDesc.getCreationTime(), snapshotDesc.getVersion());
+ final SnapshotDescription desc = ProtobufUtil.createSnapshotDesc(snapshotDesc);
final SnapshotStats stats = new SnapshotStats(this.getConf(), this.fs, desc);
SnapshotReferenceUtil.concurrentVisitReferencedFiles(getConf(), fs, snapshotManifest,
"SnapshotInfo",
@@ -566,9 +562,8 @@ public final class SnapshotInfo extends Configured implements Tool {
*/
public static SnapshotStats getSnapshotStats(final Configuration conf,
final SnapshotDescription snapshot) throws IOException {
- HBaseProtos.SnapshotDescription snapshotDesc = ProtobufUtil.createHBaseProtosSnapshotDesc(
- snapshot);
-
+ HBaseProtos.SnapshotDescription snapshotDesc =
+ ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);
return getSnapshotStats(conf, snapshotDesc, null);
}
@@ -616,9 +611,7 @@ public final class SnapshotInfo extends Configured implements Tool {
for (FileStatus snapshotDirStat: snapshots) {
HBaseProtos.SnapshotDescription snapshotDesc =
SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDirStat.getPath());
- snapshotLists.add(new SnapshotDescription(snapshotDesc.getName(),
- snapshotDesc.getTable(), ProtobufUtil.createSnapshotType(snapshotDesc.getType()),
- snapshotDesc.getOwner(), snapshotDesc.getCreationTime(), snapshotDesc.getVersion()));
+ snapshotLists.add(ProtobufUtil.createSnapshotDesc(snapshotDesc));
}
return snapshotLists;
}
@@ -639,8 +632,8 @@ public final class SnapshotInfo extends Configured implements Tool {
final ConcurrentHashMap<Path, Integer> filesMap,
final AtomicLong uniqueHFilesArchiveSize, final AtomicLong uniqueHFilesSize,
final AtomicLong uniqueHFilesMobSize) throws IOException {
- HBaseProtos.SnapshotDescription snapshotDesc = ProtobufUtil.createHBaseProtosSnapshotDesc(
- snapshot);
+ HBaseProtos.SnapshotDescription snapshotDesc =
+ ProtobufUtil.createHBaseProtosSnapshotDesc(snapshot);
Path rootDir = FSUtils.getRootDir(conf);
final FileSystem fs = FileSystem.get(rootDir.toUri(), conf);
@@ -651,9 +644,8 @@ public final class SnapshotInfo extends Configured implements Tool {
@Override public void storeFile(final HRegionInfo regionInfo, final String family,
final SnapshotRegionManifest.StoreFile storeFile) throws IOException {
if (!storeFile.hasReference()) {
- HFileLink link = HFileLink
- .build(conf, TableName.valueOf(snapshot.getTable()), regionInfo.getEncodedName(),
- family, storeFile.getName());
+ HFileLink link = HFileLink.build(conf, snapshot.getTableName(),
+ regionInfo.getEncodedName(), family, storeFile.getName());
long size;
Integer count;
Path p;
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp b/hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
index 6bb1aa3..90f639b 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/snapshot.jsp
@@ -41,7 +41,7 @@
if (snapshotName.equals(snapshotDesc.getName())) {
snapshot = snapshotDesc;
stats = SnapshotInfo.getSnapshotStats(conf, snapshot);
- snapshotTable = TableName.valueOf(snapshot.getTable());
+ snapshotTable = snapshot.getTableName();
tableExists = admin.tableExists(snapshotTable);
break;
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java
index 4b56f88..2de3528 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestSnapshotFromClient.java
@@ -212,7 +212,7 @@ public class TestSnapshotFromClient {
final String SNAPSHOT_NAME = "offlineTableSnapshot";
byte[] snapshot = Bytes.toBytes(SNAPSHOT_NAME);
- admin.snapshot(new SnapshotDescription(SNAPSHOT_NAME, STRING_TABLE_NAME,
+ admin.snapshot(new SnapshotDescription(SNAPSHOT_NAME, TABLE_NAME,
SnapshotType.DISABLED, null, -1, SnapshotManifestV1.DESCRIPTOR_VERSION));
LOG.debug("Snapshot completed.");
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java
index 2cae2ac..0aeec0a 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/cleaner/TestSnapshotFromMaster.java
@@ -206,9 +206,7 @@ public class TestSnapshotFromMaster {
// then create a snapshot to the fs and make sure that we can find it when checking done
snapshotName = "completed";
- Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);
- desc = desc.toBuilder().setName(snapshotName).build();
- SnapshotDescriptionUtils.writeSnapshotInfo(desc, snapshotDir, fs);
+ desc = createSnapshot(snapshotName);
builder.setSnapshot(desc);
response = master.getMasterRpcServices().isSnapshotDone(null, builder.build());
@@ -225,9 +223,7 @@ public class TestSnapshotFromMaster {
// write one snapshot to the fs
String snapshotName = "completed";
- Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);
- SnapshotDescription snapshot = SnapshotDescription.newBuilder().setName(snapshotName).build();
- SnapshotDescriptionUtils.writeSnapshotInfo(snapshot, snapshotDir, fs);
+ SnapshotDescription snapshot = createSnapshot(snapshotName);
// check that we get one snapshot
response = master.getMasterRpcServices().getCompletedSnapshots(null, request);
@@ -238,9 +234,7 @@ public class TestSnapshotFromMaster {
// write a second snapshot
snapshotName = "completed_two";
- snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);
- snapshot = SnapshotDescription.newBuilder().setName(snapshotName).build();
- SnapshotDescriptionUtils.writeSnapshotInfo(snapshot, snapshotDir, fs);
+ snapshot = createSnapshot(snapshotName);
expected.add(snapshot);
// check that we get one snapshot
@@ -266,8 +260,7 @@ public class TestSnapshotFromMaster {
}
// write one snapshot to the fs
- Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);
- SnapshotDescriptionUtils.writeSnapshotInfo(snapshot, snapshotDir, fs);
+ createSnapshot(snapshotName);
// then delete the existing snapshot,which shouldn't cause an exception to be thrown
master.getMasterRpcServices().deleteSnapshot(null, request);
@@ -405,4 +398,13 @@ public class TestSnapshotFromMaster {
private static void ensureHFileCleanersRun() {
UTIL.getHBaseCluster().getMaster().getHFileCleaner().chore();
}
+
+ private SnapshotDescription createSnapshot(final String snapshotName) throws IOException {
+ SnapshotTestingUtils.SnapshotMock snapshotMock =
+ new SnapshotTestingUtils.SnapshotMock(UTIL.getConfiguration(), fs, rootDir);
+ SnapshotTestingUtils.SnapshotMock.SnapshotBuilder builder =
+ snapshotMock.createSnapshotV2(snapshotName, "test", 0);
+ builder.commit();
+ return builder.getSnapshotDescription();
+ }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
index f56ecd8..4ebc74f 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
@@ -114,8 +114,7 @@ public final class SnapshotTestingUtils {
List<SnapshotDescription> returnedSnapshots = new ArrayList<SnapshotDescription>();
for (SnapshotDescription sd : snapshots) {
- if (snapshotName.equals(sd.getName()) &&
- tableName.equals(TableName.valueOf(sd.getTable()))) {
+ if (snapshotName.equals(sd.getName()) && tableName.equals(sd.getTableName())) {
returnedSnapshots.add(sd);
}
}
@@ -129,8 +128,7 @@ public final class SnapshotTestingUtils {
*/
public static void assertOneSnapshotThatMatches(Admin admin,
HBaseProtos.SnapshotDescription snapshot) throws IOException {
- assertOneSnapshotThatMatches(admin, snapshot.getName(),
- TableName.valueOf(snapshot.getTable()));
+ assertOneSnapshotThatMatches(admin, snapshot.getName(), TableName.valueOf(snapshot.getTable()));
}
/**
@@ -145,7 +143,7 @@ public final class SnapshotTestingUtils {
assertEquals("Should only have 1 snapshot", 1, snapshots.size());
assertEquals(snapshotName, snapshots.get(0).getName());
- assertEquals(tableName, TableName.valueOf(snapshots.get(0).getTable()));
+ assertEquals(tableName, snapshots.get(0).getTableName());
return snapshots;
}
@@ -271,7 +269,7 @@ public final class SnapshotTestingUtils {
* @param snapshot: the snapshot to check
* @param sleep: amount to sleep between checks to see if the snapshot is done
* @throws ServiceException if the snapshot fails
- * @throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException
+ * @throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException
*/
public static void waitForSnapshotToComplete(HMaster master,
HBaseProtos.SnapshotDescription snapshot, long sleep)
@@ -301,7 +299,7 @@ public final class SnapshotTestingUtils {
CorruptedSnapshotException lastEx = null;
while (tries++ < numTries) {
try {
- admin.snapshot(new SnapshotDescription(snapshotName, tableName,
+ admin.snapshot(new SnapshotDescription(snapshotName, TableName.valueOf(tableName),
SnapshotType.valueOf(type.toString())));
return;
} catch (CorruptedSnapshotException cse) {
http://git-wip-us.apache.org/repos/asf/hbase/blob/00ea7aea/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
index 521524f..fc8a399 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
@@ -282,7 +282,7 @@ public class TestFlushSnapshotFromClient {
// take the snapshot async
admin.takeSnapshotAsync(
- new SnapshotDescription("asyncSnapshot", TABLE_NAME.getNameAsString(),
+ new SnapshotDescription("asyncSnapshot", TABLE_NAME,
ProtobufUtil.createSnapshotType(HBaseProtos.SnapshotDescription.Type.FLUSH)));
// constantly loop, looking for the snapshot to complete
@@ -456,10 +456,10 @@ public class TestFlushSnapshotFromClient {
HBaseProtos.SnapshotDescription.Builder builder =
HBaseProtos.SnapshotDescription.newBuilder();
if(i %2 ==0) {
- descs[i] = new SnapshotDescription("ss" + i, TABLE_NAME.getNameAsString(),
+ descs[i] = new SnapshotDescription("ss" + i, TABLE_NAME,
ProtobufUtil.createSnapshotType(HBaseProtos.SnapshotDescription.Type.FLUSH));
} else {
- descs[i] = new SnapshotDescription("ss" + i, TABLE2_NAME.getNameAsString(),
+ descs[i] = new SnapshotDescription("ss" + i, TABLE2_NAME,
ProtobufUtil.createSnapshotType(HBaseProtos.SnapshotDescription.Type.FLUSH));
}
}
@@ -504,9 +504,9 @@ public class TestFlushSnapshotFromClient {
int t1SnapshotsCount = 0;
int t2SnapshotsCount = 0;
for (SnapshotDescription ss : taken) {
- if (TableName.valueOf(ss.getTable()).equals(TABLE_NAME)) {
+ if (ss.getTableName().equals(TABLE_NAME)) {
t1SnapshotsCount++;
- } else if (TableName.valueOf(ss.getTable()).equals(TABLE2_NAME)) {
+ } else if (ss.getTableName().equals(TABLE2_NAME)) {
t2SnapshotsCount++;
}
}