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

View raw message