[ 
https://issues.apache.org/jira/browse/HDFS-3655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Akira AJISAKA resolved HDFS-3655.
---------------------------------

          Resolution: Duplicate
            Assignee:     (was: Xiaobo Peng)
    Target Version/s:   (was: 0.22.1)

Closing this issue as duplicate. Please feel free to reopen if you disagree.

> Datanode recoverRbw could hang sometime
> ---------------------------------------
>
>                 Key: HDFS-3655
>                 URL: https://issues.apache.org/jira/browse/HDFS-3655
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode
>    Affects Versions: 0.22.0, 1.0.3, 2.0.0-alpha
>            Reporter: Ming Ma
>         Attachments: HDFS-3655-0.22-use-join-instead-of-wait.patch, 
> HDFS-3655-0.22.patch
>
>
> This bug seems to apply to 0.22 and hadoop 2.0. I will upload the initial fix 
> done by my colleague Xiaobo Peng shortly ( there is some logistics issue 
> being worked on so that he can upload patch himself later ).
> recoverRbw try to kill the old writer thread, but it took the lock (FSDataset 
> monitor object) which the old writer thread is waiting on ( for example the 
> call to data.getTmpInputStreams ).
> "DataXceiver for client /10.110.3.43:40193 [Receiving block 
> blk_-3037542385914640638_57111747 
> client=DFSClient_attempt_201206021424_0001_m_000401_0]" daemon prio=10 
> tid=0x00007facf8111800 nid=0x6b64 in Object.wait() [0x00007facd1ddb000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Thread.join(Thread.java:1186)
> ■locked <0x00000007856c1200> (a org.apache.hadoop.util.Daemon)
> at java.lang.Thread.join(Thread.java:1239)
> at 
> org.apache.hadoop.hdfs.server.datanode.ReplicaInPipeline.stopWriter(ReplicaInPipeline.java:158)
> at 
> org.apache.hadoop.hdfs.server.datanode.FSDataset.recoverRbw(FSDataset.java:1347)
> ■locked <0x00000007838398c0> (a 
> org.apache.hadoop.hdfs.server.datanode.FSDataset)
> at 
> org.apache.hadoop.hdfs.server.datanode.BlockReceiver.<init>(BlockReceiver.java:119)
> at 
> org.apache.hadoop.hdfs.server.datanode.DataXceiver.opWriteBlockInternal(DataXceiver.java:391)
> at 
> org.apache.hadoop.hdfs.server.datanode.DataXceiver.opWriteBlock(DataXceiver.java:327)
> at 
> org.apache.hadoop.hdfs.protocol.DataTransferProtocol$Receiver.opWriteBlock(DataTransferProtocol.java:405)
> at 
> org.apache.hadoop.hdfs.protocol.DataTransferProtocol$Receiver.processOp(DataTransferProtocol.java:344)
> at 
> org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:183)
> at java.lang.Thread.run(Thread.java:662)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to