You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Shaofeng SHI (JIRA)" <ji...@apache.org> on 2018/06/11 05:53:00 UTC

[jira] [Resolved] (KYLIN-1768) NDCuboidMapper throws ArrayIndexOutOfBoundsException when dimension is fixed length encoded to more than 256 bytes

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

Shaofeng SHI resolved KYLIN-1768.
---------------------------------
    Resolution: Duplicate

> NDCuboidMapper throws ArrayIndexOutOfBoundsException when dimension is fixed length encoded to more than 256 bytes
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-1768
>                 URL: https://issues.apache.org/jira/browse/KYLIN-1768
>             Project: Kylin
>          Issue Type: Bug
>          Components: Job Engine
>    Affects Versions: v1.5.2
>            Reporter: Dayue Gao
>            Assignee: Shaofeng SHI
>            Priority: Major
>             Fix For: v2.4.0
>
>
> When user defined a dimension which is fixed length encoded to more than 256 bytes, "Build N-Dimension Cuboid Data" step failed in map phase. The stack trace is shown below:
> {noformat}
> Error: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) 
> at org.apache.kylin.cube.common.RowKeySplitter.split(RowKeySplitter.java:103) 
> at org.apache.kylin.engine.mr.steps.NDCuboidMapper.map(NDCuboidMapper.java:125) 
> at org.apache.kylin.engine.mr.steps.NDCuboidMapper.map(NDCuboidMapper.java:49) 
> at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) 
> at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) 
> at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340) 
> at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:167) 
> at java.security.AccessController.doPrivileged(Native Method) 
> at javax.security.auth.Subject.doAs(Subject.java:415) 
> at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) 
> at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
> {noformat}
> The reason is that `RowKeySplitter` is hardcoded to 65 splits and 256 bytes per split, and trying to put a larger encoded dimension throws ArrayIndexOutOfBoundsException.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)