PENG Zhengshuai created KYLIN-4083:
--------------------------------------
Summary: Fact Distinct Column Step, UHC column may loose value
when the hashcode of 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
In the Fact Distinct Column Step, kylin uses MR to reduce 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*
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 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)