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

Ashwin Ramesh updated HDFS-12092:
---------------------------------
    Description: 
Restarted a datanode,  corrupted the metafile for blk_1073741825 with something 
like echo 'zzzzzzzz' > blk_1073741825_1001.meta, and datanode logs reveal that 
the VolumeScanner exits due to an illegal argument exception. Here is the 
relevant trace: 
------------------------------------------------------------------------------------------------------
{code}
2017-07-05 22:03:41,878 [VolumeScannerThread()] DEBUG datanode.VolumeScanner: 
start scanning block BP-955735389-###########-1494002319684:blk_1073741825_1001
2017-07-05 22:03:41,879 [VolumeScannerThread()] ERROR datanode.VolumeScanner: 
VolumeScanner() exiting because of exception 
java.lang.IllegalArgumentException: id=122 out of range [0, 5)
        at 
org.apache.hadoop.util.DataChecksum$Type.valueOf(DataChecksum.java:67)
        at 
org.apache.hadoop.util.DataChecksum.newDataChecksum(DataChecksum.java:123)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:178)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:142)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:156)
        at 
org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl.loadLastPartialChunkChecksum(FsVolumeImpl.java:1022)
        at 
org.apache.hadoop.hdfs.server.datanode.FinalizedReplica.getLastChecksumAndDataLen(FinalizedReplica.java:104)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockSender.<init>(BlockSender.java:259)
        at 
org.apache.hadoop.hdfs.server.datanode.VolumeScanner.scanBlock(VolumeScanner.java:484)
        at 
org.apache.hadoop.hdfs.server.datanode.VolumeScanner.runLoop(VolumeScanner.java:614)
        at 
org.apache.hadoop.hdfs.server.datanode.VolumeScanner.run(VolumeScanner.java:699)
2017-07-05 22:03:41,879 [VolumeScannerThread()] INFO datanode.VolumeScanner: 
VolumeScanner() exiting.
{code}

  was:
Restarted a datanode,  corrupted the metafile for blk_1073741825 with something 
like echo 'zzzzzzzz' > blk_1073741825_1001.meta, and datanode logs reveal that 
the VolumeScanner exits due to an illegal argument exception. Here is the 
relevant trace

2017-07-05 22:03:41,878 
[VolumeScannerThread(/grid/0/tmp/hadoop-hdfsqa/dfs/data)] DEBUG 
datanode.VolumeScanner: start scanning block 
BP-955735389-10.215.76.172-1494002319684:blk_1073741825_1001
2017-07-05 22:03:41,879 
[VolumeScannerThread(/grid/0/tmp/hadoop-hdfsqa/dfs/data)] ERROR 
datanode.VolumeScanner: VolumeScanner(/grid/0/tmp/hadoop-hdfsqa/dfs/data, 
DS-7817e9a3-c179-4901-8757-af965b27b689) exiting because of exception 
java.lang.IllegalArgumentException: id=122 out of range [0, 5)
        at 
org.apache.hadoop.util.DataChecksum$Type.valueOf(DataChecksum.java:67)
        at 
org.apache.hadoop.util.DataChecksum.newDataChecksum(DataChecksum.java:123)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:178)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:142)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:156)
        at 
org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl.loadLastPartialChunkChecksum(FsVolumeImpl.java:1022)
        at 
org.apache.hadoop.hdfs.server.datanode.FinalizedReplica.getLastChecksumAndDataLen(FinalizedReplica.java:104)
        at 
org.apache.hadoop.hdfs.server.datanode.BlockSender.<init>(BlockSender.java:259)
        at 
org.apache.hadoop.hdfs.server.datanode.VolumeScanner.scanBlock(VolumeScanner.java:484)
        at 
org.apache.hadoop.hdfs.server.datanode.VolumeScanner.runLoop(VolumeScanner.java:614)
        at 
org.apache.hadoop.hdfs.server.datanode.VolumeScanner.run(VolumeScanner.java:699)
2017-07-05 22:03:41,879 
[VolumeScannerThread(/grid/0/tmp/hadoop-hdfsqa/dfs/data)] INFO 
datanode.VolumeScanner: VolumeScanner(/grid/0/tmp/hadoop-hdfsqa/dfs/data, 
DS-7817e9a3-c179-4901-8757-af965b27b689) exiting.


> VolumeScanner exits when block metadata file is corrupted on datanode.
> ----------------------------------------------------------------------
>
>                 Key: HDFS-12092
>                 URL: https://issues.apache.org/jira/browse/HDFS-12092
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode, hdfs
>    Affects Versions: 2.8.0
>            Reporter: Ashwin Ramesh
>
> Restarted a datanode,  corrupted the metafile for blk_1073741825 with 
> something like echo 'zzzzzzzz' > blk_1073741825_1001.meta, and datanode logs 
> reveal that the VolumeScanner exits due to an illegal argument exception. 
> Here is the relevant trace: 
> ------------------------------------------------------------------------------------------------------
> {code}
> 2017-07-05 22:03:41,878 [VolumeScannerThread()] DEBUG datanode.VolumeScanner: 
> start scanning block 
> BP-955735389-###########-1494002319684:blk_1073741825_1001
> 2017-07-05 22:03:41,879 [VolumeScannerThread()] ERROR datanode.VolumeScanner: 
> VolumeScanner() exiting because of exception 
> java.lang.IllegalArgumentException: id=122 out of range [0, 5)
>         at 
> org.apache.hadoop.util.DataChecksum$Type.valueOf(DataChecksum.java:67)
>         at 
> org.apache.hadoop.util.DataChecksum.newDataChecksum(DataChecksum.java:123)
>         at 
> org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:178)
>         at 
> org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:142)
>         at 
> org.apache.hadoop.hdfs.server.datanode.BlockMetadataHeader.readHeader(BlockMetadataHeader.java:156)
>         at 
> org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsVolumeImpl.loadLastPartialChunkChecksum(FsVolumeImpl.java:1022)
>         at 
> org.apache.hadoop.hdfs.server.datanode.FinalizedReplica.getLastChecksumAndDataLen(FinalizedReplica.java:104)
>         at 
> org.apache.hadoop.hdfs.server.datanode.BlockSender.<init>(BlockSender.java:259)
>         at 
> org.apache.hadoop.hdfs.server.datanode.VolumeScanner.scanBlock(VolumeScanner.java:484)
>         at 
> org.apache.hadoop.hdfs.server.datanode.VolumeScanner.runLoop(VolumeScanner.java:614)
>         at 
> org.apache.hadoop.hdfs.server.datanode.VolumeScanner.run(VolumeScanner.java:699)
> 2017-07-05 22:03:41,879 [VolumeScannerThread()] INFO datanode.VolumeScanner: 
> VolumeScanner() exiting.
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to