Dear Hadoop Team,

I'm a hadoop developer and running 1000+ clusters.
I am reaching out to inquire about a specific aspect of the Hadoop-HDFS
project. Specifically, I am interested in understanding why two types of
BlockingService class are used in the project source code, namely
org.apache.hadoop.thirdparty.protobuf.BlockingService and
com.google.protobuf.BlockingService.

[In the code, *NameNodeRpcServer.java*]
----------------------------------------------------------------------
package org.apache.hadoop.hdfs.server.namenode;

...
import *org.apache.hadoop.thirdparty.protobuf.BlockingService*;

@InterfaceAudience.Private
@VisibleForTesting
public class NameNodeRpcServer implements NamenodeProtocols {

...
public NameNodeRpcServer(Configuration conf, NameNode nn)
     throws IOException {
         ...
        BlockingService clientNNPbService =
*ClientNamenodeProtocol.newReflectiveBlockingService(clientProtocolServerTranslator);
 ==> Return type is* *com.google.protobuf.BlockingService*
        ...
    }
}
----------------------------------------------------------------------


In NameNodeRpcServer.java, there is a code snippet that assigns a value to
the BlockingService clientNNPbService. However, this code is causing a
class casting problem. I am wondering if you could provide some guidance on
how to resolve this issue.

Furthermore, I would also appreciate your advice on setting up the
Hadoop-HDFS project in Eclipse. Could you kindly share any best practices
or tips on how to do this effectively?

Thank you very much for your time and assistance. I look forward to hearing
back from you soon.


Best regards,
Hang Joe

Reply via email to