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

Brandon Li updated HDFS-9717:
-----------------------------
    Component/s: namenode

> NameNode can not update the status of bad block
> -----------------------------------------------
>
>                 Key: HDFS-9717
>                 URL: https://issues.apache.org/jira/browse/HDFS-9717
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: namenode
>    Affects Versions: 2.2.0
>            Reporter: tangshangwen
>            Assignee: tangshangwen
>
> In our cluster,some users set the number of replicas of file to 1, then back 
> to 2,the file cannot be read,but the NameNode think it is healthy
> {noformat}
> /user/username/dt=2015-11-30/dp=16/part-r-00063.lzo 1513716944 bytes, 12 
> block(s):  Under replicated BP-1422437282658:blk_1897961957_824575827. Target 
> Replicas is 2 but found 1 replica(s).
>  Replica placement policy is violated for 
> BP-1422437282658:blk_1897961957_824575827. Block should be additionally 
> replicated on 1 more rack
> (s).
> 0. BP-1337805335-xxx.xxx.xxx.xxx-1422437282658:blk_1897961824_824575694 
> len=134217728 repl=2 [host1:50010, host2:50010]
> 1. BP-1337805335-xxx.xxx.xxx.xxx-1422437282658:blk_1897961957_824575827 
> len=134217728 repl=1 [host3:50010]
> 2. BP-1337805335-xxx.xxx.xxx.xxx-1422437282658:blk_1897962047_824575917 
> len=134217728 repl=2 [host4:50010, host1:50010]
> ......
> Status: HEALTHY
>  Total size:   1513716944 B
>  Total dirs:   0
>  Total files:  1
>  Total symlinks:               0
>  Total blocks (validated):     12 (avg. block size 126143078 B)
>  Minimally replicated blocks:  12 (100.0 %)
>  Over-replicated blocks:       0 (0.0 %)
>  Under-replicated blocks:      1 (8.333333 %)
>  Mis-replicated blocks:                1 (8.333333 %)
>  Default replication factor:   3
>  Average block replication:    1.9166666
>  Corrupt blocks:               0
>  Missing replicas:             1 (4.1666665 %)
>  Number of data-nodes:         xxxx
>  Number of racks:              xxx
> FSCK ended at Thu Jan 28 10:27:49 CST 2016 in 0 milliseconds
> {noformat}
> But the  replica on the datanode has been damaged, can't read,this is 
> datanode log
> {noformat}
> 2016-01-23 06:34:42,737 WARN 
> org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner: First 
> Verification failed for 
> BP-1337805335-xxx.xxx.xxx.xxx-1422437282658:blk_1897961957_824575827          
>                                                                               
>                                                                    
> java.io.IOException: Input/output error                                       
>                                                                               
>                
>     at java.io.FileInputStream.readBytes(Native Method)                       
>                                                                               
>                
>     at java.io.FileInputStream.read(FileInputStream.java:272)                 
>                                                                               
>                
>     at org.apache.hadoop.io.IOUtils.readFully(IOUtils.java:192)               
>                                                                               
>                
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockSender.sendPacket(BlockSender.java:529)
>                                                                               
>    
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockSender.sendBlock(BlockSender.java:710)
>                                                                               
>     
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner.verifyBlock(BlockPoolSliceScanner.java:427)
>                                                             
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner.verifyFirstBlock(BlockPoolSliceScanner.java:506)
>                                                        
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner.scan(BlockPoolSliceScanner.java:667)
>                                                                    
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockPoolSliceScanner.scanBlockPoolSlice(BlockPoolSliceScanner.java:633)
>                                                      
>     at 
> org.apache.hadoop.hdfs.server.datanode.DataBlockScanner.run(DataBlockScanner.java:101)
>                                                                               
>     at java.lang.Thread.run(Thread.java:745)
> ------------------------------
> 2016-01-28 10:28:37,874 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: 
> DatanodeRegistration(host1, 
> storageID=DS-1450783279-xxx.xxx.xxx.xxx-50010-1432889625435
> , infoPort=50075, ipcPort=50020, 
> storageInfo=lv=-47;cid=CID-3f36397d-b160-4414-b7e4-f37b72e96d53;nsid=1992344832;c=0):Failed
>  to transfer BP-1337805335-xxx.xxx.xxx.xxx-142243
> 7282658:blk_1897961957_824575827 to xxx.xxx.xxx.xxx:50010 got
> java.net.SocketException: Original Exception : java.io.IOException: 
> Input/output error
>     at sun.nio.ch.FileChannelImpl.transferTo0(Native Method)
>     at sun.nio.ch.FileChannelImpl.transferToDirectly(FileChannelImpl.java:433)
>     at sun.nio.ch.FileChannelImpl.transferTo(FileChannelImpl.java:565)
>     at 
> org.apache.hadoop.net.SocketOutputStream.transferToFully(SocketOutputStream.java:223)
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockSender.sendPacket(BlockSender.java:546)
>     at 
> org.apache.hadoop.hdfs.server.datanode.BlockSender.sendBlock(BlockSender.java:710)
>     at 
> org.apache.hadoop.hdfs.server.datanode.DataNode$DataTransfer.run(DataNode.java:1520)
>     at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.IOException: Input/output error
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to