Jeff Storck created NIFI-3472:
---------------------------------

             Summary: PutHDFS Kerberos relogin not working (tgt) after ticket 
expires
                 Key: NIFI-3472
                 URL: https://issues.apache.org/jira/browse/NIFI-3472
             Project: Apache NiFi
          Issue Type: Bug
    Affects Versions: 1.1.1
            Reporter: Jeff Storck


PutHDFS is not able to relogin if the ticket expires.

NiFi, running locally as standalone, was sending files to HDFS.  After 
suspending the system for the weekend, when the flow attempted to continue to 
processo flowfiles, the following exception occurred:
{code}2017-02-13 11:59:53,460 WARN [Timer-Driven Process Thread-10] 
org.apache.hadoop.ipc.Client Exception encountered while connecting to the 
server : javax.security.sasl.SaslException: GSS initiate failed [Caused by 
GSSException: No valid credentials provided (Mechanism level: Failed to find 
any Kerberos tgt)]
2017-02-13 11:59:53,463 INFO [Timer-Driven Process Thread-10] 
o.a.h.io.retry.RetryInvocationHandler Exception while invoking getFileInfo of 
class ClientNamenodeProtocolTranslatorPB over 
hdp-cluster-2-1.novalocal/172.22.105.152:8020 after 3 fail over attempts. 
Trying to fail over immediately.
java.io.IOException: Failed on local exception: java.io.IOException: 
javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: 
No valid credentials provided (Mechanism level: Failed to find any Kerberos 
tgt)]; Host Details : local host is: "hw13184.local/10.0.0.153"; destination 
host is: "hdp-cluster-2-1.novalocal":8020;
        at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:776) 
~[hadoop-common-2.7.3.jar:na]
        at org.apache.hadoop.ipc.Client.call(Client.java:1479) 
~[hadoop-common-2.7.3.jar:na]
        at org.apache.hadoop.ipc.Client.call(Client.java:1412) 
~[hadoop-common-2.7.3.jar:na]
        at 
org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
 ~[hadoop-common-2.7.3.jar:na]
        at com.sun.proxy.$Proxy136.getFileInfo(Unknown Source) ~[na:na]
        at 
org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:771)
 ~[hadoop-hdfs-2.7.3.jar:na]
        at sun.reflect.GeneratedMethodAccessor386.invoke(Unknown Source) 
~[na:na]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.8.0_102]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_102]
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191)
 ~[hadoop-common-2.7.3.jar:na]
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
 ~[hadoop-common-2.7.3.jar:na]
        at com.sun.proxy.$Proxy137.getFileInfo(Unknown Source) [na:na]
        at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2108) 
[hadoop-hdfs-2.7.3.jar:na]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
 [hadoop-hdfs-2.7.3.jar:na]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
 [hadoop-hdfs-2.7.3.jar:na]
        at 
org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
 [hadoop-common-2.7.3.jar:na]
        at 
org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1317)
 [hadoop-hdfs-2.7.3.jar:na]
        at org.apache.nifi.processors.hadoop.PutHDFS$1.run(PutHDFS.java:262) 
[nifi-hdfs-processors-1.1.1.jar:1.1.1]
        at java.security.AccessController.doPrivileged(Native Method) 
[na:1.8.0_102]
        at javax.security.auth.Subject.doAs(Subject.java:360) [na:1.8.0_102]
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1678)
 [hadoop-common-2.7.3.jar:na]
        at 
org.apache.nifi.processors.hadoop.PutHDFS.onTrigger(PutHDFS.java:230) 
[nifi-hdfs-processors-1.1.1.jar:1.1.1]
        at 
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
 [nifi-api-1.1.1.jar:1.1.1]
        at 
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1099)
 [nifi-framework-core-1.1.1.jar:1.1.1]
        at 
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
 [nifi-framework-core-1.1.1.jar:1.1.1]
        at 
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
 [nifi-framework-core-1.1.1.jar:1.1.1]
        at 
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132)
 [nifi-framework-core-1.1.1.jar:1.1.1]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[na:1.8.0_102]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
[na:1.8.0_102]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 [na:1.8.0_102]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 [na:1.8.0_102]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[na:1.8.0_102]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_102]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102]{code}
After stopping and starting the PutHDFS processor, flowfiles were able to be 
transferred to HDFS.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to