Github user Parth-Brahmbhatt commented on the pull request:

    https://github.com/apache/incubator-storm/pull/190#issuecomment-49474731
  
    Here is what I have so far:
    
    User can specify AutoHDFS.java as "nimbus.credential.renewers.classes" and 
AutoHDFS will only implement ICredentialsRenewer. In the prepare phase of 
AutoHDFS.java, which should be called on nimbus startup, we can get the HDFS 
credentials. However, I don't think the topology submitter user will be 
available at that time so we will not be able to get the token on behalf of the 
user but only as nimbus which I feel is unacceptable. 
    
    In order to actually get the credentials as topology submitter user, we 
either need a new Interface that will run on nimbus when a topology is 
submitted as part of submitTopologyWithOpts implementation or we can add 
getCredentialForUser(Map conf) method to ICredentialsRenewer interface and call 
that as part of submitTopologyWithOpts. I personally prefer not to pollute the 
ICredentialsRenewer interface. Let me know if you have better alternatives or 
prefer one over another.
    
    I have one last question. The ICredentialsRenewer implementations seems to 
be loaded by reading "nimbus.credential.renewers.classes" config at startup by 
nimbus. This means the users who have a running nimbus and wants to use 
AutoHDFS or any other implementation of ICredentialsRenewer will have to change 
the config and restart the nimbus. Is that acceptable? 
    



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to