You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by rm...@apache.org on 2016/03/23 21:20:26 UTC
incubator-ranger git commit: RANGER-149: If the HDFS file system is
empty then repository configurator gives confusing message
Repository: incubator-ranger
Updated Branches:
refs/heads/master 2836dea0b -> 9fd63d006
RANGER-149: If the HDFS file system is empty then repository configurator gives confusing message
Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/9fd63d00
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/9fd63d00
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/9fd63d00
Branch: refs/heads/master
Commit: 9fd63d0061997bb2d20f860f5df70c195363a0f0
Parents: 2836dea
Author: rmani <rm...@hortonworks.com>
Authored: Wed Mar 23 13:20:08 2016 -0700
Committer: rmani <rm...@hortonworks.com>
Committed: Wed Mar 23 13:20:08 2016 -0700
----------------------------------------------------------------------
.../ranger/services/hdfs/client/HdfsClient.java | 42 +++++++++++---------
1 file changed, 24 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/9fd63d00/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
----------------------------------------------------------------------
diff --git a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
index 0a86c50..bc4f05a 100644
--- a/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
+++ b/hdfs-agent/src/main/java/org/apache/ranger/services/hdfs/client/HdfsClient.java
@@ -28,6 +28,7 @@ import java.util.*;
import javax.security.auth.Subject;
import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.conf.Configuration;
@@ -75,31 +76,36 @@ public class HdfsClient extends BaseClient {
UserGroupInformation.setConfiguration(conf);
-
+
FileSystem fs = null ;
try {
fs = FileSystem.get(conf) ;
-
- FileStatus[] fileStats = fs.listStatus(new Path(baseDir)) ;
-
+
+ Path basePath = new Path(baseDir);
+ FileStatus[] fileStats = fs.listStatus(basePath) ;
+
if(LOG.isDebugEnabled()) {
LOG.debug("<== HdfsClient fileStatus : " + fileStats + " PathList :" + pathList) ;
}
-
+
if (fileStats != null) {
- for(FileStatus stat : fileStats) {
- Path path = stat.getPath() ;
- String pathComponent = path.getName() ;
- String prefixedPath = dirPrefix + pathComponent;
- if ( pathList != null && pathList.contains(prefixedPath)) {
- continue;
- }
- if (filterRegEx == null) {
- fileList.add(prefixedPath) ;
- }
- else if (FilenameUtils.wildcardMatch(pathComponent, fileMatching)) {
- fileList.add(prefixedPath) ;
- }
+ if (fs.exists(basePath) && ArrayUtils.isEmpty(fileStats)) {
+ fileList.add(basePath.toString()) ;
+ } else {
+ for(FileStatus stat : fileStats) {
+ Path path = stat.getPath() ;
+ String pathComponent = path.getName() ;
+ String prefixedPath = dirPrefix + pathComponent;
+ if ( pathList != null && pathList.contains(prefixedPath)) {
+ continue;
+ }
+ if (filterRegEx == null) {
+ fileList.add(prefixedPath) ;
+ }
+ else if (FilenameUtils.wildcardMatch(pathComponent, fileMatching)) {
+ fileList.add(prefixedPath) ;
+ }
+ }
}
}
} catch (UnknownHostException uhe) {