From 8dfaaeabfd97efff0e17af5cdf5b2d647bdb9b88 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 24 May 2020 17:07:34 -0700 Subject: HCFS: 1.2.8 fix hbase related bugs 1. SeaweedFileSystem.listStatus need to work with file also 2. SeaweedRead readChunkView has wrong len --- .../src/main/java/seaweed/hdfs/SeaweedFileSystemStore.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'other/java/hdfs2/src') diff --git a/other/java/hdfs2/src/main/java/seaweed/hdfs/SeaweedFileSystemStore.java b/other/java/hdfs2/src/main/java/seaweed/hdfs/SeaweedFileSystemStore.java index 774c090e8..9617a38be 100644 --- a/other/java/hdfs2/src/main/java/seaweed/hdfs/SeaweedFileSystemStore.java +++ b/other/java/hdfs2/src/main/java/seaweed/hdfs/SeaweedFileSystemStore.java @@ -64,6 +64,16 @@ public class SeaweedFileSystemStore { public FileStatus[] listEntries(final Path path) { LOG.debug("listEntries path: {}", path); + FileStatus pathStatus = getFileStatus(path); + + if (pathStatus == null) { + return new FileStatus[0]; + } + + if (!pathStatus.isDirectory()) { + return new FileStatus[]{pathStatus}; + } + List fileStatuses = new ArrayList(); List entries = filerClient.listEntries(path.toUri().getPath()); @@ -74,7 +84,9 @@ public class SeaweedFileSystemStore { fileStatuses.add(fileStatus); } + LOG.debug("listEntries path: {} size {}", fileStatuses, fileStatuses.size()); return fileStatuses.toArray(new FileStatus[0]); + } public FileStatus getFileStatus(final Path path) { -- cgit v1.2.3