You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2019/07/15 12:41:00 UTC

[jira] [Commented] (KYLIN-4083) Fact Distinct Column Step maybe failed or value lost when hashcode of the UHC column value is Integer.MIN_VALUE

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

ASF GitHub Bot commented on KYLIN-4083:
---------------------------------------

ZhengshuaiPENG commented on pull request #742: #KYLIN-4083, Fact Distinct Column Step maybe failed or value lost whe…
URL: https://github.com/apache/kylin/pull/742
 
 
   …n hashcode of the UHC column value is Integer.MIN_VALUE
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Fact Distinct Column Step maybe failed or value lost when hashcode of the UHC column value is Integer.MIN_VALUE
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-4083
>                 URL: https://issues.apache.org/jira/browse/KYLIN-4083
>             Project: Kylin
>          Issue Type: Bug
>            Reporter: PENG Zhengshuai
>            Assignee: PENG Zhengshuai
>            Priority: Major
>
> In the Fact Distinct Column Step, kylin uses MR to de-dup the values of columns.
> If the column is UHC (ultra high cardinality) column and the value of the property *kylin.engine.mr.uhc-reducer-count* has been set greater than *1*, the Mapper task will write the output of UHC column values to different reducers by *FactDistinctColumnPartitioner* according to the reducer id 
> The reducer id will be calculated by hash, the implementation in *FactDistinctColumnsReducerMapping#getReducerIdForCol()*,  in this method, *the reducer id = reducerBeginIndex + Math.abs(value.hashCode()) % uhcReducerCount*
> When the value.hashCode() is Integer.MIN_VALUE, the Math.abs(value.hashCode()) return also Integer.MIN_VALUE. Thus the reducer id may return a negative value. This may cause the FactDistinctColumn step failed, or the UHC column value may be redirected to another reducer which not belongs to UHC column



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)