[
https://issues.apache.org/jira/browse/HDFS-5697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uma Maheswara Rao G reopened HDFS-5697:
---------------------------------------
> connection leak in DFSInputStream
> ---------------------------------
>
> Key: HDFS-5697
> URL: https://issues.apache.org/jira/browse/HDFS-5697
> Project: Hadoop HDFS
> Issue Type: Bug
> Reporter: Haitao Yao
> Attachments: HDFS-5697.patch, HDFS-5697.patch
>
>
> While getting the BlockReader from DFSInputStream, if the cache is miss, the
> DFSInputStream creates a new peer. But if error occured when creating the new
> blockreader with the give peer and IOException is thrown, the created peer is
> not closed and will cause too many CLOSE-WAIT status.
> here's the stacktrace:
> java.io.IOException: Got error for OP_READ_BLOCK, self=/10.130.100.32:26657,
> remote=/10.130.100.32:50010, for file
> /hbase/STAT_RESULT_SALT/d17e9cf1d1de34910bc6724c7cc21ed8/_0/c75770dbed6444488b609385e8bc9e0d,
> for pool BP-2041309608-10.130.100.157-1361861188734 block
> -7893680960325255689_107620083
> at
> org.apache.hadoop.hdfs.RemoteBlockReader2.checkSuccess(RemoteBlockReader2.java:429)
> at
> org.apache.hadoop.hdfs.RemoteBlockReader2.newBlockReader(RemoteBlockReader2.java:394)
> at
> org.apache.hadoop.hdfs.BlockReaderFactory.newBlockReader(BlockReaderFactory.java:137)
> at
> org.apache.hadoop.hdfs.DFSInputStream.getBlockReader(DFSInputStream.java:1103)
> at
> org.apache.hadoop.hdfs.DFSInputStream.blockSeekTo(DFSInputStream.java:538)
> at
> org.apache.hadoop.hdfs.DFSInputStream.readWithStrategy(DFSInputStream.java:750)
> at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:794)
> at java.io.DataInputStream.read(DataInputStream.java:149)
> at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:192)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlock$AbstractFSReader.readAtOffset(HFileBlock.java:1409)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderV2.readBlockDataInternal(HFileBlock.java:1921)
> at
> org.apache.hadoop.hbase.io.hfile.HFileBlock$FSReaderV2.readBlockData(HFileBlock.java:1703)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2.readBlock(HFileReaderV2.java:338)
> at
> org.apache.hadoop.hbase.io.hfile.HFileReaderV2$EncodedScannerV2.seekTo(HFileReaderV2.java:997)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seekAtOrAfter(StoreFileScanner.java:229)
> at
> org.apache.hadoop.hbase.regionserver.StoreFileScanner.seek(StoreFileScanner.java:145)
> at
> org.apache.hadoop.hbase.regionserver.StoreScanner.<init>(StoreScanner.java:165)
> So there should be a catch clause at the end of the function to check if
> IOException is thrown , the peer should be closed.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)