Repository: hadoop
Updated Branches:
refs/heads/branch-2.7 2f031830e -> 449d2ad85
HDFS-9669. TcpPeerServer should respect ipc.server.listen.queue.size (Elliot
Clark via cmccabe)
(cherry picked from commit 2da03b48eba53d4dec2a77209ad9835d808171d1)
(cherry picked from commit 60d3a3c30b05fdeec5cc369a698297ee309d620e)
(cherry picked from commit c4c94e1cf2a8e03ee7888c69a7dd8f2b7e2df14d)
Conflicts:
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.java
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/449d2ad8
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/449d2ad8
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/449d2ad8
Branch: refs/heads/branch-2.7
Commit: 449d2ad85c64f2e1ab9cde38460094b935faa66e
Parents: 2f03183
Author: Colin Patrick Mccabe <[email protected]>
Authored: Tue Feb 2 10:59:10 2016 -0800
Committer: Colin Patrick Mccabe <[email protected]>
Committed: Tue Feb 2 11:17:28 2016 -0800
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java | 6 ++++--
.../java/org/apache/hadoop/hdfs/server/datanode/DataNode.java | 6 +++++-
.../hadoop/hdfs/server/datanode/SecureDataNodeStarter.java | 6 +++++-
4 files changed, 17 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/449d2ad8/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 4c00732..9a8aacb 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -27,6 +27,9 @@ Release 2.7.3 - UNRELEASED
HDFS-9654. Code refactoring for HDFS-8578. (szetszwo)
+ HDFS-9669. TcpPeerServer should respect ipc.server.listen.queue.size
+ (Elliot Clark via cmccabe)
+
OPTIMIZATIONS
BUG FIXES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/449d2ad8/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java
index 2a547e0..c914e02 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/net/TcpPeerServer.java
@@ -102,13 +102,15 @@ public class TcpPeerServer implements PeerServer {
*
* @param socketWriteTimeout The Socket write timeout in ms.
* @param bindAddr The address to bind to.
+ * @param backlogLength The length of the tcp accept backlog
* @throws IOException
*/
public TcpPeerServer(int socketWriteTimeout,
- InetSocketAddress bindAddr) throws IOException {
+ InetSocketAddress bindAddr,
+ int backlogLength) throws IOException {
this.serverSocket = (socketWriteTimeout > 0) ?
ServerSocketChannel.open().socket() : new ServerSocket();
- Server.bind(serverSocket, bindAddr, 0);
+ Server.bind(serverSocket, bindAddr, backlogLength);
}
/**
http://git-wip-us.apache.org/repos/asf/hadoop/blob/449d2ad8/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
index 54445af..efd5d39 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DataNode.java
@@ -47,6 +47,7 @@ import static
org.apache.hadoop.hdfs.DFSConfigKeys.DFS_DATANODE_STARTUP_KEY;
import static
org.apache.hadoop.hdfs.DFSConfigKeys.DFS_MAX_NUM_BLOCKS_TO_LOG_DEFAULT;
import static
org.apache.hadoop.hdfs.DFSConfigKeys.DFS_MAX_NUM_BLOCKS_TO_LOG_KEY;
import static org.apache.hadoop.util.ExitUtil.terminate;
+import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
@@ -890,8 +891,11 @@ public class DataNode extends ReconfigurableBase
if (secureResources != null) {
tcpPeerServer = new TcpPeerServer(secureResources);
} else {
+ int backlogLength = conf.getInt(
+ CommonConfigurationKeysPublic.IPC_SERVER_LISTEN_QUEUE_SIZE_KEY,
+ CommonConfigurationKeysPublic.IPC_SERVER_LISTEN_QUEUE_SIZE_DEFAULT);
tcpPeerServer = new TcpPeerServer(dnConf.socketWriteTimeout,
- DataNode.getStreamingAddr(conf));
+ DataNode.getStreamingAddr(conf), backlogLength);
}
tcpPeerServer.setReceiveBufferSize(HdfsConstants.DEFAULT_DATA_SOCKET_SIZE);
streamingAddr = tcpPeerServer.getStreamingAddr();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/449d2ad8/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.java
----------------------------------------------------------------------
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.java
index c0df244..cfeec19 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/SecureDataNodeStarter.java
@@ -20,6 +20,7 @@ import com.google.common.annotations.VisibleForTesting;
import org.apache.commons.daemon.Daemon;
import org.apache.commons.daemon.DaemonContext;
import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
import org.apache.hadoop.hdfs.DFSConfigKeys;
import org.apache.hadoop.hdfs.DFSUtil;
import org.apache.hadoop.hdfs.HdfsConfiguration;
@@ -95,10 +96,13 @@ public class SecureDataNodeStarter implements Daemon {
int socketWriteTimeout = conf.getInt(
DFSConfigKeys.DFS_DATANODE_SOCKET_WRITE_TIMEOUT_KEY,
HdfsServerConstants.WRITE_TIMEOUT);
+ int backlogLength = conf.getInt(
+ CommonConfigurationKeysPublic.IPC_SERVER_LISTEN_QUEUE_SIZE_KEY,
+ CommonConfigurationKeysPublic.IPC_SERVER_LISTEN_QUEUE_SIZE_DEFAULT);
ServerSocket ss = (socketWriteTimeout > 0) ?
ServerSocketChannel.open().socket() : new ServerSocket();
- ss.bind(streamingAddr, 0);
+ ss.bind(streamingAddr, backlogLength);
// Check that we got the port we need
if (ss.getLocalPort() != streamingAddr.getPort()) {