This is an automated email from the ASF dual-hosted git repository.
jstorck pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/master by this push:
new 3d21059 NIFI-6405 GetHDFSFileInfo ignores files in the root/start
directory
3d21059 is described below
commit 3d21059e95920ded8034e0bdc7d318571ffef54a
Author: Ferenc Szabó <[email protected]>
AuthorDate: Fri Jun 28 10:28:12 2019 +0200
NIFI-6405 GetHDFSFileInfo ignores files in the root/start directory
modifying test cases, fixing file processing.
Testing done:
- Unit tests
- Manual run against a hadoop instance
This closes #3558
---
.../nifi/processors/hadoop/GetHDFSFileInfo.java | 3 +-
.../processors/hadoop/TestGetHDFSFileInfo.java | 49 ++++++++++++++++++----
.../testRecursiveGroupAllToAttributes.json | 2 +-
.../testRecursiveGroupDirToAttributes-mydir.json | 2 +-
.../testRunWithPermissionsExceptionContent.json | 2 +-
5 files changed, 44 insertions(+), 14 deletions(-)
diff --git
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/GetHDFSFileInfo.java
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/GetHDFSFileInfo.java
index cda53f0..3fe249d 100644
---
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/GetHDFSFileInfo.java
+++
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/GetHDFSFileInfo.java
@@ -369,8 +369,7 @@ public class GetHDFSFileInfo extends
AbstractHadoopProcessor {
// Decide what to do with child: if requested FF per object or
per dir - just emit new FF with info in 'o' object
if (vo != null && !statsOnly) {
parent.addChild(vo);
- if (p != null && req.isRecursive
- && vo.isFile() && !vo.isSymlink()) {
+ if (vo.isFile() && !vo.isSymlink()) {
processHDFSObject(context, session, origFF, req, vo,
false);
}
}
diff --git
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
index 8a50041..ca99a49 100644
---
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
+++
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/java/org/apache/nifi/processors/hadoop/TestGetHDFSFileInfo.java
@@ -302,8 +302,8 @@ public class TestGetHDFSFileInfo {
mff.assertAttributeEquals("hdfs.owner", "owner");
mff.assertAttributeEquals("hdfs.group", "group");
mff.assertAttributeEquals("hdfs.lastModified", ""+1523456000000L);
- mff.assertAttributeEquals("hdfs.length", ""+500);
- mff.assertAttributeEquals("hdfs.count.files", ""+5);
+ mff.assertAttributeEquals("hdfs.length", ""+900);
+ mff.assertAttributeEquals("hdfs.count.files", ""+9);
mff.assertAttributeEquals("hdfs.count.dirs", ""+10);
mff.assertAttributeEquals("hdfs.replication", ""+3);
mff.assertAttributeEquals("hdfs.permissions", "rwxr-xr-x");
@@ -329,7 +329,7 @@ public class TestGetHDFSFileInfo {
runner.run();
runner.assertTransferCount(GetHDFSFileInfo.REL_ORIGINAL, 0);
- runner.assertTransferCount(GetHDFSFileInfo.REL_SUCCESS, 7);
+ runner.assertTransferCount(GetHDFSFileInfo.REL_SUCCESS, 9);
runner.assertTransferCount(GetHDFSFileInfo.REL_FAILURE, 0);
runner.assertTransferCount(GetHDFSFileInfo.REL_NOT_FOUND, 0);
@@ -342,8 +342,8 @@ public class TestGetHDFSFileInfo {
mff.assertAttributeEquals("hdfs.owner", "owner");
mff.assertAttributeEquals("hdfs.group", "group");
mff.assertAttributeEquals("hdfs.lastModified",
""+1523456000000L);
- mff.assertAttributeEquals("hdfs.length", ""+500);
- mff.assertAttributeEquals("hdfs.count.files", ""+5);
+ mff.assertAttributeEquals("hdfs.length", ""+900);
+ mff.assertAttributeEquals("hdfs.count.files", ""+9);
mff.assertAttributeEquals("hdfs.count.dirs", ""+10);
mff.assertAttributeEquals("hdfs.replication", ""+3);
mff.assertAttributeEquals("hdfs.permissions", "rwxr-xr-x");
@@ -426,11 +426,37 @@ public class TestGetHDFSFileInfo {
mff.assertAttributeEquals("hdfs.replication", ""+3);
mff.assertAttributeEquals("hdfs.permissions", "rw-r--r--");
mff.assertAttributeNotExists("hdfs.status");
+ }else if (mff.getAttribute("hdfs.objectName").equals("regFile4")) {
+ matchCount++;
+ mff.assertAttributeEquals("hdfs.path", "/some/home/mydir");
+ mff.assertAttributeEquals("hdfs.type", "file");
+ mff.assertAttributeEquals("hdfs.owner", "owner");
+ mff.assertAttributeEquals("hdfs.group", "group");
+ mff.assertAttributeEquals("hdfs.lastModified",
""+1523456000000L);
+ mff.assertAttributeEquals("hdfs.length", ""+100);
+ mff.assertAttributeNotExists("hdfs.count.files");
+ mff.assertAttributeNotExists("hdfs.count.dirs");
+ mff.assertAttributeEquals("hdfs.replication", ""+3);
+ mff.assertAttributeEquals("hdfs.permissions", "rw-r--r--");
+ mff.assertAttributeNotExists("hdfs.status");
+ }else if
(mff.getAttribute("hdfs.objectName").equals("regFile5")) {
+ matchCount++;
+ mff.assertAttributeEquals("hdfs.path", "/some/home/mydir");
+ mff.assertAttributeEquals("hdfs.type", "file");
+ mff.assertAttributeEquals("hdfs.owner", "owner");
+ mff.assertAttributeEquals("hdfs.group", "group");
+ mff.assertAttributeEquals("hdfs.lastModified",
""+1523456000000L);
+ mff.assertAttributeEquals("hdfs.length", ""+100);
+ mff.assertAttributeNotExists("hdfs.count.files");
+ mff.assertAttributeNotExists("hdfs.count.dirs");
+ mff.assertAttributeEquals("hdfs.replication", ""+3);
+ mff.assertAttributeEquals("hdfs.permissions", "rw-r--r--");
+ mff.assertAttributeNotExists("hdfs.status");
}else {
runner.assertNotValid();
}
}
- Assert.assertEquals(matchCount, 7);
+ Assert.assertEquals(matchCount, 9);
}
@Test
@@ -462,8 +488,8 @@ public class TestGetHDFSFileInfo {
mff.assertAttributeEquals("hdfs.owner", "owner");
mff.assertAttributeEquals("hdfs.group", "group");
mff.assertAttributeEquals("hdfs.lastModified",
""+1523456000000L);
- mff.assertAttributeEquals("hdfs.length", ""+500);
- mff.assertAttributeEquals("hdfs.count.files", ""+5);
+ mff.assertAttributeEquals("hdfs.length", ""+900);
+ mff.assertAttributeEquals("hdfs.count.files", ""+9);
mff.assertAttributeEquals("hdfs.count.dirs", ""+10);
mff.assertAttributeEquals("hdfs.replication", ""+3);
mff.assertAttributeEquals("hdfs.permissions", "rwxr-xr-x");
@@ -540,9 +566,14 @@ public class TestGetHDFSFileInfo {
/*
* For all basic tests, this provides a structure of files in dirs:
* Total number of dirs: 9 (1 root, 4 dotted)
- * Total number of files: 4 (2 dotted)
+ * Total number of files: 8 (4 dotted)
*/
protected void setFileSystemBasicTree(final MockFileSystem fs) {
+ fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newFile("/some/home/mydir/regFile4"));
+ fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newFile("/some/home/mydir/regFile5"));
+ fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newFile("/some/home/mydir/.dotFile4"));
+ fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newFile("/some/home/mydir/.dotFile5"));
+
fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newDir("/some/home/mydir/dir1"));
fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newDir("/some/home/mydir/dir2"));
fs.addFileStatus(fs.newDir("/some/home/mydir"),
fs.newDir("/some/home/mydir/.dir3"));
diff --git
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupAllToAttributes.json
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupAllToAttributes.json
index 096f244..df3d60a 100644
---
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupAllToAttributes.json
+++
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupAllToAttributes.json
@@ -1 +1 @@
-{"objectName":"mydir","path":"/some/home","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"500","replication":"3","countFiles":"5","countDirs":"10","permissions":"rwxr-xr-x","content":[{"objectName":"dir1","path":"/some/home/mydir","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"200","replication":"3","countFiles":"2","countDirs":"3","permissions":"rwxr-xr-x","content":[{"objectName":"regFile","path":"
[...]
\ No newline at end of file
+{"objectName":"mydir","path":"/some/home","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"900","replication":"3","countFiles":"9","countDirs":"10","permissions":"rwxr-xr-x","content":[{"objectName":"regFile5","path":"/some/home/mydir","type":"file","owner":"owner","group":"group","lastModified":"1523456000000","length":"100","replication":"3","permissions":"rw-r--r--"},{"objectName":"regFile4","path":"/some/home/mydir","type":"file","owner":"ow
[...]
\ No newline at end of file
diff --git
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupDirToAttributes-mydir.json
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupDirToAttributes-mydir.json
index e1e7d63..0267caf 100644
---
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupDirToAttributes-mydir.json
+++
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRecursiveGroupDirToAttributes-mydir.json
@@ -1 +1 @@
-{"objectName":"mydir","path":"/some/home","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"500","replication":"3","countFiles":"5","countDirs":"10","permissions":"rwxr-xr-x","content":[{"objectName":"dir1","path":"/some/home/mydir","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"200","replication":"3","countFiles":"2","countDirs":"3","permissions":"rwxr-xr-x"},{"objectName":"dir2","path":"/some/home/my
[...]
\ No newline at end of file
+{"objectName":"mydir","path":"/some/home","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"900","replication":"3","countFiles":"9","countDirs":"10","permissions":"rwxr-xr-x","content":[{"objectName":"regFile5","path":"/some/home/mydir","type":"file","owner":"owner","group":"group","lastModified":"1523456000000","length":"100","replication":"3","permissions":"rw-r--r--"},{"objectName":"regFile4","path":"/some/home/mydir","type":"file","owner":"ow
[...]
\ No newline at end of file
diff --git
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRunWithPermissionsExceptionContent.json
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRunWithPermissionsExceptionContent.json
index b21cf04..dfb53d2 100644
---
a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRunWithPermissionsExceptionContent.json
+++
b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/test/resources/TestGetHDFSFileInfo/testRunWithPermissionsExceptionContent.json
@@ -1 +1 @@
-{"objectName":"mydir","path":"/some/home","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"500","replication":"3","countFiles":"5","countDirs":"11","permissions":"rwxr-xr-x","content":[{"objectName":"dir1","path":"/some/home/mydir","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"200","replication":"3","countFiles":"2","countDirs":"4","permissions":"rwxr-xr-x","content":[{"objectName":"list_exception_ja
[...]
\ No newline at end of file
+{"objectName":"mydir","path":"/some/home","type":"directory","owner":"owner","group":"group","lastModified":"1523456000000","length":"900","replication":"3","countFiles":"9","countDirs":"11","permissions":"rwxr-xr-x","content":[{"objectName":"regFile5","path":"/some/home/mydir","type":"file","owner":"owner","group":"group","lastModified":"1523456000000","length":"100","replication":"3","permissions":"rw-r--r--"},{"objectName":"regFile4","path":"/some/home/mydir","type":"file","owner":"ow
[...]
\ No newline at end of file