[ https://issues.apache.org/jira/browse/KUDU-2671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17572570#comment-17572570 ]
ASF subversion and git services commented on KUDU-2671: ------------------------------------------------------- Commit e572e59673f6dade62f96eb38b6417ef018bc7bf in kudu's branch refs/heads/master from Alexey Serbin [ https://gitbox.apache.org/repos/asf?p=kudu.git;h=e572e5967 ] [catalog_manager] KUDU-2671 fix bug in CreatePartitionsForRange() This patch fixes a bug in PartitionSchema::CreatePartitionsForRange(). The manifestation of the bug was the inability to add an unbounded range with custom hash schema (e.g. [0, +inf)) by AlterTable due to a conflict with already existing range (e.g., [-inf, 0)) when if fact there was no conflict at all. The root cause was the assumption that PartitionSchema contained information on the range to be added in its internal map 'hash_schema_idx_by_encoded_range_start_' but that wasn't the case, so GetHashSchemaForRange() would return the table-wide hash schema for the new range being added instead of proper range-specific hash schema. That lead to incorrect updating of range boundaries in UpdatePartitionBoundaries(), producing wrong results. This patch also contains a new test scenario that allowed to reproduce the issue: the new scenario is failing without the fix applied. Change-Id: I33a2bdea2e71bf4b567664c0166e9fbc07c4b882 Reviewed-on: http://gerrit.cloudera.org:8080/18793 Tested-by: Kudu Jenkins Reviewed-by: Mahesh Reddy <mre...@cloudera.com> Reviewed-by: Abhishek Chennaka <achenn...@cloudera.com> Reviewed-by: Attila Bukor <abu...@apache.org> > Change hash number for range partitioning > ----------------------------------------- > > Key: KUDU-2671 > URL: https://issues.apache.org/jira/browse/KUDU-2671 > Project: Kudu > Issue Type: Improvement > Components: client, java, master, server > Affects Versions: 1.8.0 > Reporter: yangz > Assignee: Mahesh Reddy > Priority: Major > Labels: feature, roadmap-candidate, scalability > Attachments: 屏幕快照 2019-01-24 下午12.03.41.png > > > For our usage, the kudu schema design isn't flexible enough. > We create our table for day range such as dt='20181112' as hive table. > But our data size change a lot every day, for one day it will be 50G, but for > some other day it will be 500G. For this case, it be hard to set the hash > schema. If too big, for most case, it will be too wasteful. But too small, > there is a performance problem in the case of a large amount of data. > > So we suggest a solution we can change the hash number by the history data of > a table. > for example > # we create schema with one estimated value. > # we collect the data size by day range > # we create new day range partition by our collected day size. > We use this feature for half a year, and it work well. We hope this feature > will be useful for the community. Maybe the solution isn't so complete. > Please help us make it better. -- This message was sent by Atlassian Jira (v8.20.10#820010)