You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Aaron T. Myers (Created) (JIRA)" <ji...@apache.org> on 2011/12/16 10:08:30 UTC
[jira] [Created] (HDFS-2694) Removal of Avro broke non-PB NN
services
Removal of Avro broke non-PB NN services
----------------------------------------
Key: HDFS-2694
URL: https://issues.apache.org/jira/browse/HDFS-2694
Project: Hadoop HDFS
Issue Type: Bug
Components: name-node
Affects Versions: 0.24.0
Reporter: Aaron T. Myers
Assignee: Aaron T. Myers
RpcEngine implementations have to register themselves associated with an RpcKind. Both WritableRpcEngine and ProtobufRpcEngine do this registration in static initialization blocks. It used to be that the static initializer block for WritableRpcEngine was triggered when AvroRpcEngine was initialized, since this instantiated a WritableRpcEngine object. With AvroRpcEngine gone, there's nothing in the NN to trigger the WritableRpcEngine static initialization block. Therefore, those RPC services which still use Writable and not PB no longer work.
For example, if I try to run `hdfs groups' on trunk, which uses the GetUserMappingsProtocol, this error gets spit out:
{noformat}
$ hdfs groups
log4j:ERROR Could not find value for key log4j.appender.NullAppender
log4j:ERROR Could not instantiate appender named "NullAppender".
Exception in thread "main" java.io.IOException: Unknown rpc kind RPC_WRITABLE
at org.apache.hadoop.ipc.Client.call(Client.java:1136)
at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:205)
at $Proxy6.getGroupsForUser(Unknown Source)
at org.apache.hadoop.tools.GetGroupsBase.run(GetGroupsBase.java:71)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:69)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:83)
at org.apache.hadoop.hdfs.tools.GetGroups.main(GetGroups.java:56)
{noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (HDFS-2694) Removal of Avro broke non-PB NN
services
Posted by "Aaron T. Myers (Resolved) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HDFS-2694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aaron T. Myers resolved HDFS-2694.
----------------------------------
Resolution: Fixed
Fix Version/s: 0.24.0
Hadoop Flags: Reviewed
> Removal of Avro broke non-PB NN services
> ----------------------------------------
>
> Key: HDFS-2694
> URL: https://issues.apache.org/jira/browse/HDFS-2694
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: name-node
> Affects Versions: 0.24.0
> Reporter: Aaron T. Myers
> Assignee: Aaron T. Myers
> Fix For: 0.24.0
>
> Attachments: HDFS-2694.patch, HDFS-2694.txt, HDFS-2694.txt
>
>
> RpcEngine implementations have to register themselves associated with an RpcKind. Both WritableRpcEngine and ProtobufRpcEngine do this registration in static initialization blocks. It used to be that the static initializer block for WritableRpcEngine was triggered when AvroRpcEngine was initialized, since this instantiated a WritableRpcEngine object. With AvroRpcEngine gone, there's nothing in the NN to trigger the WritableRpcEngine static initialization block. Therefore, those RPC services which still use Writable and not PB no longer work.
> For example, if I try to run `hdfs groups' on trunk, which uses the GetUserMappingsProtocol, this error gets spit out:
> {noformat}
> $ hdfs groups
> log4j:ERROR Could not find value for key log4j.appender.NullAppender
> log4j:ERROR Could not instantiate appender named "NullAppender".
> Exception in thread "main" java.io.IOException: Unknown rpc kind RPC_WRITABLE
> at org.apache.hadoop.ipc.Client.call(Client.java:1136)
> at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:205)
> at $Proxy6.getGroupsForUser(Unknown Source)
> at org.apache.hadoop.tools.GetGroupsBase.run(GetGroupsBase.java:71)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:69)
> at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:83)
> at org.apache.hadoop.hdfs.tools.GetGroups.main(GetGroups.java:56)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira