You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Steve Loughran (JIRA)" <ji...@apache.org> on 2018/10/01 18:21:00 UTC

[jira] [Commented] (HADOOP-15808) Harden Token service loader use

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

Steve Loughran commented on HADOOP-15808:
-----------------------------------------

There's a related issue, which is most (all?) uses of {{Token.decodeIdentifier()}} assume that the return value is never null, but it can be if the Kind of the token isn't known. This will trigger an NPE.

Proposed: 
* have decodeIdentifier fail with a useful error, including the token kind, raise an IllegalStateException
* review uses of the code to see if there is anything which does actually look out for null, tune it for the new world

It'd be nice if we correlate a failure to load a class with an unknown token identifier impl later, but we can't because you can't determine the kind of an implementation if that load doesn't work. Pity.

> Harden Token service loader use
> -------------------------------
>
>                 Key: HADOOP-15808
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15808
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: security
>    Affects Versions: 2.9.1, 3.1.2
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>
> The Hadoop token service loading (identifiers, renewers...) works provided there's no problems loading any registered implementation. If there's a classloading or classcasting problem, the exception raised will stop all token support working; possibly the application not starting.
> This matters for S3A/HADOOP-14556 as things may not load if aws-sdk isn't on the classpath. It probably lurks in the wasb/abfs support too, but things have worked there because the installations with DT support there have always had correctly set up classpaths.
> Fix: do what we did for the FS service loader. Catch failures to instantiate a service provider impl and skip it



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org