Repository: nifi Updated Branches: refs/heads/master bb2d2c367 -> a87230358
NIFI-1536 This closes #241. ensured that UserGroupInformation is re-initialized on each call to 'AbstractHadoopProcessor.resetHDFSResources(..)' Signed-off-by: joewitt <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/a8723035 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/a8723035 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/a8723035 Branch: refs/heads/master Commit: a87230358d9a1f0d2676339fcd2354ae5732f6f2 Parents: bb2d2c3 Author: Oleg Zhurakousky <[email protected]> Authored: Sun Feb 21 12:45:00 2016 -0500 Committer: joewitt <[email protected]> Committed: Mon Feb 22 17:23:53 2016 -0500 ---------------------------------------------------------------------- .../nifi/processors/hadoop/AbstractHadoopProcessor.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/a8723035/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java index 9e89c3a..b536996 100644 --- a/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java +++ b/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java @@ -258,8 +258,8 @@ public abstract class AbstractHadoopProcessor extends AbstractProcessor { // If kerberos is enabled, create the file system as the kerberos principal // -- use RESOURCE_LOCK to guarantee UserGroupInformation is accessed by only a single thread at at time - FileSystem fs = null; - UserGroupInformation ugi = null; + FileSystem fs; + UserGroupInformation ugi; synchronized (RESOURCES_LOCK) { if (config.get("hadoop.security.authentication").equalsIgnoreCase("kerberos")) { String principal = context.getProperty(KERBEROS_PRINCIPAL).getValue(); @@ -271,7 +271,9 @@ public abstract class AbstractHadoopProcessor extends AbstractProcessor { } else { config.set("ipc.client.fallback-to-simple-auth-allowed", "true"); config.set("hadoop.security.authentication", "simple"); - fs = getFileSystem(config); + UserGroupInformation.setConfiguration(config); + ugi = UserGroupInformation.getLoginUser(); + fs = getFileSystemAsUser(config, ugi); } } config.set(disableCacheName, "true");
