Liang Xie created HDFS-7523:
-------------------------------
Summary: Setting a socket receive buffer size in DFSClient
Key: HDFS-7523
URL: https://issues.apache.org/jira/browse/HDFS-7523
Project: Hadoop HDFS
Issue Type: Improvement
Components: dfsclient
Affects Versions: 2.6.0
Reporter: Liang Xie
Assignee: Liang Xie
It would be nice if we have a socket receive buffer size while creating socket from client(HBase)
view, in old version it should be in DFSInputStream, in trunk it seems should be at:
{code}
@Override // RemotePeerFactory
public Peer newConnectedPeer(InetSocketAddress addr,
Token<BlockTokenIdentifier> blockToken, DatanodeID datanodeId)
throws IOException {
Peer peer = null;
boolean success = false;
Socket sock = null;
try {
sock = socketFactory.createSocket();
NetUtils.connect(sock, addr,
getRandomLocalInterfaceAddr(),
dfsClientConf.socketTimeout);
peer = TcpPeerServer.peerFromSocketAndKey(saslClient, sock, this,
blockToken, datanodeId);
peer.setReadTimeout(dfsClientConf.socketTimeout);
{code}
e.g: sock.setReceiveBufferSize(HdfsConstants.DEFAULT_DATA_SOCKET_SIZE);
the default socket buffer size in Linux+JDK7 seems is 8k if i am not wrong, this value sometimes
is small for HBase 64k block reading in a 10G network(at least, more system call)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
|