HDFS-15496. Add UI for deleted snapshots (#2212)

This commit is contained in:
Vivek Ratnavel Subramanian 2020-08-13 10:06:15 -07:00 committed by GitHub
parent 4a400d3193
commit cb50e3fcf7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 62 deletions

View File

@ -174,60 +174,6 @@ public class SnapshotStatus {
return Math.max(n, String.valueOf(value).length());
}
/**
* To be used to for collection of snapshot jmx.
*/
public static class Bean {
private final String path;
private final int snapshotID;
private final long modificationTime;
private final short permission;
private final String owner;
private final String group;
private final boolean isDeleted;
public Bean(String path, int snapshotID, long
modificationTime, short permission, String owner, String group,
boolean isDeleted) {
this.path = path;
this.snapshotID = snapshotID;
this.modificationTime = modificationTime;
this.permission = permission;
this.owner = owner;
this.group = group;
this.isDeleted = isDeleted;
}
public String getPath() {
return path;
}
public int getSnapshotID() {
return snapshotID;
}
public long getModificationTime() {
return modificationTime;
}
public short getPermission() {
return permission;
}
public String getOwner() {
return owner;
}
public String getGroup() {
return group;
}
public boolean isDeleted() {
return isDeleted;
}
}
static String getSnapshotPath(String snapshottableDir,
String snapshotRelativePath) {
String parentFullPathStr =

View File

@ -82,18 +82,20 @@ public class SnapshotInfo {
}
public static class Bean {
private final String snapshotID;
private final int snapshotID;
private final String snapshotDirectory;
private final long modificationTime;
private final String status;
public Bean(String snapshotID, String snapshotDirectory,
long modificationTime) {
public Bean(int snapshotID, String snapshotDirectory,
long modificationTime, boolean isMarkedAsDeleted) {
this.snapshotID = snapshotID;
this.snapshotDirectory = snapshotDirectory;
this.modificationTime = modificationTime;
this.status = isMarkedAsDeleted ? "DELETED" : "ACTIVE";
}
public String getSnapshotID() {
public int getSnapshotID() {
return snapshotID;
}
@ -104,5 +106,9 @@ public class SnapshotInfo {
public long getModificationTime() {
return modificationTime;
}
public String getStatus() {
return status;
}
}
}

View File

@ -746,16 +746,19 @@ public class SnapshotManager implements SnapshotStatsMXBean {
d.getDirectorySnapshottableFeature().getNumSnapshots(),
d.getDirectorySnapshottableFeature().getSnapshotQuota(),
d.getModificationTime(),
Short.valueOf(Integer.toOctalString(
d.getFsPermissionShort())),
Short.parseShort(Integer.toOctalString(d.getFsPermissionShort())),
d.getUserName(),
d.getGroupName());
}
public static SnapshotInfo.Bean toBean(Snapshot s) {
Snapshot.Root dir = s.getRoot();
return new SnapshotInfo.Bean(
s.getRoot().getLocalName(), s.getRoot().getFullPathName(),
s.getRoot().getModificationTime());
s.getId(),
dir.getFullPathName(),
dir.getModificationTime(),
dir.isMarkedAsDeleted()
);
}
private List<INodeDirectory> getSnapshottableDirsForGc() {

View File

@ -287,6 +287,7 @@
<th>Snapshot ID</th>
<th>Snapshot Directory</th>
<th>Modification Time</th>
<th>Status</th>
</tr>
</thead>
{#Snapshots}
@ -294,6 +295,7 @@
<td>{snapshotID}</td>
<td>{snapshotDirectory}</td>
<td>{modificationTime|date_tostring}</td>
<td>{status}</td>
</tr>
{/Snapshots}
</table>