[ 
https://issues.apache.org/jira/browse/HADOOP-12563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15056987#comment-15056987
 ] 

Matthew Paduano commented on HADOOP-12563:
------------------------------------------

I agree with the comment about addDelegationTokens.   I changed the interface 
in DtFetcher to
use this more general signature and included the Credentials object in the 
interface so that the
DtFetcher implementation class may have full control over how the tokens are 
placed into the 
credentials map.

Re -fs and the abstraction used here:   I agree that ServiceLoader<DtFetcher> 
is "reabstracting"
one method (getDelegationToken) from the FileSystem layer.  FileSystem et al 
are nicely abstracted.
But FileSystem is not generalized to other services (e.g. Yarn).   I think what 
is needed here is a 
generalization of that FileSystem abstraction.   getServiceName, or something 
like it, is needed 
as a key to identify the implementation to use (this could be the generalized 
analog of -fs, once
that analog exists).

Perhaps someone can think about the proper way to generalize implementations 
across
different projects/services so that new service specific tools can be more 
cleanly abstracted.  I 
think this is a separate JIRA from this one though.  This ticket changes the 
serialization format
of the token files and adds the ability to add multiple tokens to a single file.

The alias thing is a bit of a hack.  We have discussed adding alias as a new 
field (or using 
the key from the credentials object) rather than overwriting the service field 
in the token.  But
in order to keep the scope of this ticket more limited, we decided to leave the 
behavior as it 
is for now so that we can get this new functionality rolled out.  Changing that 
behavior will
involve checking all the places Token is used.

> Updated utility to create/modify token files
> --------------------------------------------
>
>                 Key: HADOOP-12563
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12563
>             Project: Hadoop Common
>          Issue Type: New Feature
>    Affects Versions: 3.0.0
>            Reporter: Allen Wittenauer
>            Assignee: Matthew Paduano
>         Attachments: HADOOP-12563.01.patch, HADOOP-12563.02.patch, 
> HADOOP-12563.03.patch, HADOOP-12563.04.patch, HADOOP-12563.05.patch, 
> HADOOP-12563.06.patch, example_dtutil_commands_and_output.txt, 
> generalized_token_case.pdf
>
>
> hdfs fetchdt is missing some critical features and is geared almost 
> exclusively towards HDFS operations.  Additionally, the token files that are 
> created use Java serializations which are hard/impossible to deal with in 
> other languages. It should be replaced with a better utility in common that 
> can read/write protobuf-based token files, has enough flexibility to be used 
> with other services, and offers key functionality such as append and rename. 
> The old version file format should still be supported for backward 
> compatibility, but will be effectively deprecated.
> A follow-on JIRA will deprecrate fetchdt.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to