hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HADOOP-9485) inconsistent defaults for hadoop.rpc.socket.factory.class.default
Date Mon, 29 Apr 2013 21:50:16 GMT

     [ https://issues.apache.org/jira/browse/HADOOP-9485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Colin Patrick McCabe updated HADOOP-9485:
-----------------------------------------

    Attachment: HADOOP-9485.003.patch

I thought about this a little more, and I think changing the default socket factory class
is probably a bit too risky.

It's better to set compatible defaults in the code.  So we simply have the code default {{dfs.client.use.legacy.blockreader}}
to true, which matches any socket factory the user may have.

In {{hdfs-default.xml}}, in contrast, we set {{dfs.client.use.legacy.blockreader}} to false,
reflecting the fact that we also set 
{{hadoop.rpc.socket.factory.class.default}} to {{org.apache.hadoop.net.StandardSocketFactory}}
in core-default.xml.

This fixes the problem, and has the least chance of breaking any existing users.
                
> inconsistent defaults for hadoop.rpc.socket.factory.class.default
> -----------------------------------------------------------------
>
>                 Key: HADOOP-9485
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9485
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: net
>    Affects Versions: 2.0.5-beta
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>            Priority: Minor
>         Attachments: HADOOP-9485.001.patch, HADOOP-9485.002.patch, HADOOP-9485.003.patch
>
>
> In {{core-default.xml}}, {{hadoop.rpc.socket.factory.class.default}} defaults to {{org.apache.hadoop.net.StandardSocketFactory}}.
 However, in {{CommonConfigurationKeysPublic.java}}, there is no default for this key.  This
is inconsistent (defaults in the code versus defaults in the XML files should match.)  It
also leads to problems with {{RemoteBlockReader2}}, since the default {{SocketFactory}} creates
a {{Socket}} without an associated channel.  {{RemoteBlockReader2}} cannot use such a {{Socket}}.
> This bug only really becomes apparent when you create a {{Configuration}} using the {{Configuration(loadDefaults=true)}}
constructor.  Thanks to AB Srinivasan for his help in discovering this bug.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message