HDFS-8038. PBImageDelimitedTextWriter#getEntry output HDFS path in platform-specific format. Contributed by Xiaoyu Yao.
This commit is contained in:
parent
571a1ce9d0
commit
1e72d98c69
@ -1388,6 +1388,9 @@ Release 2.7.0 - UNRELEASED
|
||||
HDFS-7999. FsDatasetImpl#createTemporary sometimes holds the FSDatasetImpl
|
||||
lock for a very long time (sinago via cmccabe)
|
||||
|
||||
HDFS-8038. PBImageDelimitedTextWriter#getEntry output HDFS path in
|
||||
platform-specific format. (Xiaoyu Yao via cnauroth)
|
||||
|
||||
BREAKDOWN OF HDFS-7584 SUBTASKS AND RELATED JIRAS
|
||||
|
||||
HDFS-7720. Quota by Storage Type API, tools and ClientNameNode
|
||||
|
@ -17,13 +17,13 @@
|
||||
*/
|
||||
package org.apache.hadoop.hdfs.tools.offlineImageViewer;
|
||||
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.fs.permission.PermissionStatus;
|
||||
import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.INode;
|
||||
import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.INodeDirectory;
|
||||
import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.INodeFile;
|
||||
import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.INodeSymlink;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -79,8 +79,10 @@ private void append(StringBuffer buffer, String field) {
|
||||
@Override
|
||||
public String getEntry(String parent, INode inode) {
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
String path = new File(parent, inode.getName().toStringUtf8()).toString();
|
||||
buffer.append(path);
|
||||
String inodeName = inode.getName().toStringUtf8();
|
||||
Path path = new Path(parent.isEmpty() ? "/" : parent,
|
||||
inodeName.isEmpty() ? "/" : inodeName);
|
||||
buffer.append(path.toString());
|
||||
PermissionStatus p = null;
|
||||
|
||||
switch (inode.getType()) {
|
||||
|
@ -21,6 +21,7 @@
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.fs.Path;
|
||||
import org.apache.hadoop.fs.permission.PermissionStatus;
|
||||
import org.apache.hadoop.hdfs.server.namenode.FSImageFormatPBINode;
|
||||
import org.apache.hadoop.hdfs.server.namenode.FSImageFormatProtobuf;
|
||||
@ -145,7 +146,8 @@ private String getPath() {
|
||||
return "/";
|
||||
}
|
||||
if (this.path == null) {
|
||||
this.path = new File(parent.getPath(), name).toString();
|
||||
this.path = new Path(parent.getPath(), name.isEmpty() ? "/" : name).
|
||||
toString();
|
||||
this.name = null;
|
||||
}
|
||||
return this.path;
|
||||
@ -364,7 +366,8 @@ public String getParentPath(long inode) throws IOException {
|
||||
}
|
||||
String parentName = toString(bytes);
|
||||
String parentPath =
|
||||
new File(getParentPath(parent), parentName).toString();
|
||||
new Path(getParentPath(parent),
|
||||
parentName.isEmpty()? "/" : parentName).toString();
|
||||
dirPathCache.put(parent, parentPath);
|
||||
}
|
||||
return dirPathCache.get(parent);
|
||||
|
Loading…
Reference in New Issue
Block a user