You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-commits@hadoop.apache.org by um...@apache.org on 2013/12/31 17:26:48 UTC
svn commit: r1554556 - in
/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs:
CHANGES.txt src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java
Author: umamahesh
Date: Tue Dec 31 16:26:48 2013
New Revision: 1554556
URL: http://svn.apache.org/r1554556
Log:
Merge. HDFS-5671. Fix socket leak in DFSInputStream#getBlockReader. Contributed by JamesLi
Modified:
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1554556&r1=1554555&r2=1554556&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt Tue Dec 31 16:26:48 2013
@@ -438,6 +438,8 @@ Release 2.3.0 - UNRELEASED
HDFS-5582. hdfs getconf -excludeFile or -includeFile always failed (sathish
via cmccabe)
+ HDFS-5671. Fix socket leak in DFSInputStream#getBlockReader. (JamesLi via umamahesh)
+
Release 2.2.0 - 2013-10-13
INCOMPATIBLE CHANGES
Modified: hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java?rev=1554556&r1=1554555&r2=1554556&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java (original)
+++ hadoop/common/branches/branch-2/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSInputStream.java Tue Dec 31 16:26:48 2013
@@ -1188,11 +1188,21 @@ implements ByteBufferReadable, CanSetDro
}
// Try to create a new remote peer.
Peer peer = newTcpPeer(dnAddr);
- return BlockReaderFactory.newBlockReader(
- dfsClient.getConf(), file, block, blockToken, startOffset,
- len, verifyChecksum, clientName, peer, chosenNode,
- dsFactory, peerCache, fileInputStreamCache, false,
+ try {
+ reader = BlockReaderFactory.newBlockReader(dfsClient.getConf(), file,
+ block, blockToken, startOffset, len, verifyChecksum, clientName,
+ peer, chosenNode, dsFactory, peerCache, fileInputStreamCache, false,
curCachingStrategy);
+ return reader;
+ } catch (IOException ex) {
+ DFSClient.LOG.debug(
+ "Exception while getting block reader, closing stale " + peer, ex);
+ throw ex;
+ } finally {
+ if (reader == null) {
+ IOUtils.closeQuietly(peer);
+ }
+ }
}