Hadoop HDFS
  1. Hadoop HDFS
  2. HDFS-2694

Removal of Avro broke non-PB NN services

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-alpha
    • Fix Version/s: 2.0.0-alpha
    • Component/s: namenode
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      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:

      $ 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)
      
      1. HDFS-2694.patch
        1 kB
        Aaron T. Myers
      2. HDFS-2694.txt
        5 kB
        Suresh Srinivas
      3. HDFS-2694.txt
        5 kB
        Suresh Srinivas

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Aaron T. Myers
              Reporter:
              Aaron T. Myers
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development