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