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 2015/07/02 23:40:04 UTC

[jira] [Commented] (HADOOP-12178) NPE during handling of SASL setup if problem with SASL resolver class

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

Steve Loughran commented on HADOOP-12178:
-----------------------------------------



Tail end of the log 
{code}
Caused by: java.io.IOException: Couldn't set up IO streams
	at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:769)\
	at org.apache.hadoop.ipc.Client$Connection.access$2800(Client.java:367)\
	at org.apache.hadoop.ipc.Client.getConnection(Client.java:1462)\
	at org.apache.hadoop.ipc.Client.call(Client.java:1381)\
	... 30 more\
Caused by: java.lang.NullPointerException\
	at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:720)\
{code}

Delving into the code, I think the problem is that {{SaslPropertiesResolver.getInstance(conf)}} can't instantiate the class listed in the config. This raises an RTE, which is caught by {{ipc.Client}}, which then calls at the uninitalized {{saslRpcClient}}

# Catching and rethrowing all RTEs would be a start.
# and {{saslRpcClient}} should be checked for null-ness before use

> NPE during handling of SASL setup if problem with SASL resolver class
> ---------------------------------------------------------------------
>
>                 Key: HADOOP-12178
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12178
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 2.7.1
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Minor
>
> If there's any problem in the constructor of {{SaslRpcClient}}, then IPC Client throws an NPE rather than forwarding the stack trace. This is because the exception handler assumes that {{saslRpcClient}} is not null, that the exception is related to the SASL setup itself.
> The exception handler needs to check for {{saslRpcClient}} being null, and if so, rethrow the exception



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