[ https://issues.apache.org/jira/browse/KYLIN-2192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15686128#comment-15686128 ]
Yerui Sun commented on KYLIN-2192: ---------------------------------- Shaofeng, the reason to change "if (id < 0)" to "if (isNullId(id))" is trying to expand dictId from 0~Integer.MAX_VALUE to 0~Integer.MAX_VALUE and Integer.MIN_VALUE~-2, only leave -1 for the null id. The failed test case also be related with this. Seems I've some misunderstanding for the null id, do you have any suggestions about expanding dictId range? > More Robust Global Dictionary > ----------------------------- > > Key: KYLIN-2192 > URL: https://issues.apache.org/jira/browse/KYLIN-2192 > Project: Kylin > Issue Type: Improvement > Components: Job Engine > Affects Versions: v1.5.4.1 > Reporter: Yerui Sun > Assignee: Yerui Sun > Fix For: v1.6.0 > > Attachments: KYLIN-2192.2.patch > > > Global dictionary have been released over 2 months, I've received some > feedbacks and bug reports. Here's the patch to make global dictionary more > robust, including some functional improvements. > * Break through 255 bytes limitation for value, but still recommend value > length less than 8K, avoiding stack overflow error; > * Fix 'Value not exists' or stack overflow error when dict size is larger > than 1GB, the root cause is similar with KYLIN-1834; A check tool also > provided for check corrupted or not of existing dict data; > * Support parallel dictionary building in one job server, used for parallel > segments building; -- This message was sent by Atlassian JIRA (v6.3.4#6332)