[ 
https://issues.apache.org/jira/browse/HDFS-12860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16299333#comment-16299333
 ] 

Lei (Eddy) Xu commented on HDFS-12860:
--------------------------------------

[~danielpol] Thanks for the report! The error you reported seems to be another 
bug. I will file a new JIRA after this comment.

I found the reason behind this JIRA is due to the block size is larger than 2GB 
(set incorrectly during teragen), so that the Preconditions check overflow when 
{{idxInInternalBlk > 2048}}:
{code}
// idxInInternalBlk is an interger, cellSize = 1MB.
Preconditions.checkState(cell.idxInInternalBlk * cellSize + cell.offset >= 0)
{code}

Upload the patch and add more debug information to related classes.

> TeraSort failed on erasure coding directory
> -------------------------------------------
>
>                 Key: HDFS-12860
>                 URL: https://issues.apache.org/jira/browse/HDFS-12860
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: erasure-coding
>    Affects Versions: 3.0.0
>            Reporter: Lei (Eddy) Xu
>            Assignee: Lei (Eddy) Xu
>
> Running terasort on a cluster with 8 datanodes, 256GB data, using 
> RS-3-2-1024k.
> The test data was generated by {{teragen}} with 32 mappers.
> The terasort benchmark fails with the following stack trace:
> {code}
> 17/11/27 14:44:31 INFO mapreduce.Job:  map 45% reduce 0%
> 17/11/27 14:44:33 INFO mapreduce.Job: Task Id : 
> attempt_1510080297865_0160_m_000008_0, Status : FAILED
> Error: java.lang.IllegalArgumentException
>       at 
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:72)
>       at 
> org.apache.hadoop.hdfs.util.StripedBlockUtil$VerticalRange.<init>(StripedBlockUtil.java:701)
>       at 
> org.apache.hadoop.hdfs.util.StripedBlockUtil.getRangesForInternalBlocks(StripedBlockUtil.java:442)
>       at 
> org.apache.hadoop.hdfs.util.StripedBlockUtil.divideOneStripe(StripedBlockUtil.java:311)
>       at 
> org.apache.hadoop.hdfs.DFSStripedInputStream.readOneStripe(DFSStripedInputStream.java:308)
>       at 
> org.apache.hadoop.hdfs.DFSStripedInputStream.readWithStrategy(DFSStripedInputStream.java:391)
>       at org.apache.hadoop.hdfs.DFSInputStream.read(DFSInputStream.java:813)
>       at java.io.DataInputStream.read(DataInputStream.java:149)
>       at 
> org.apache.hadoop.examples.terasort.TeraInputFormat$TeraRecordReader.nextKeyValue(TeraInputFormat.java:257)
>       at 
> org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:562)
>       at 
> org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
>       at 
> org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
>       at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
>       at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:793)
>       at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
>       at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:174)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:422)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1962)
>       at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:168)
> {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