[
https://issues.apache.org/jira/browse/KUDU-3515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17772006#comment-17772006
]
ASF subversion and git services commented on KUDU-3515:
-------------------------------------------------------
Commit 9ae68af0dcd7a58c9fe754f69fb99861ba26e2ff in kudu's branch
refs/heads/master from Alexey Serbin
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=9ae68af0d ]
KUDU-3515: fix incompatibility introduced with KUDU-2671
This patch addresses the issue reported in KUDU-3515. The issue has
been originally reported at the #kudu-general Slack channel [1].
The root cause of the issue is an incompatibility in the serialized
representation of tablets' partition keys introduced by changelist [2].
The essence of the fix is to convert the serialized partition keys
representing unbounded ends of the tables' ranges from the legacy
to the new format on-the-fly while loading that information from the
system catalog upon bootstrapping a leader master.
This patch contains unit test scenarios for the function that performs
the conversion from the legacy to the new format.
Also, I verified the fix works as expected for an existing Kudu 1.16.0
cluster with a bunch of tables after upgrading the binaries to Kudu
1.17.0 bits.
This is a follow-up to 8df970f7a6520bb0dc0f9cc89ad7f62ab349e84d.
[1] https://getkudu.slack.com/archives/C0CPXJ3CH/p1695107377230829
[2] https://github.com/apache/kudu/commit/8df970f7a652
Change-Id: I45df424770a09cf7c94f5e1d390757f29f9fb3f4
Reviewed-on: http://gerrit.cloudera.org:8080/20525
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Mahesh Reddy <[email protected]>
Reviewed-by: Abhishek Chennaka <[email protected]>
> Unable to drop unbounded range partition from an existing table after
> upgrading to 1.17.0 version
> -------------------------------------------------------------------------------------------------
>
> Key: KUDU-3515
> URL: https://issues.apache.org/jira/browse/KUDU-3515
> Project: Kudu
> Issue Type: Bug
> Components: master
> Affects Versions: 1.17.0
> Reporter: Alexey Serbin
> Assignee: Alexey Serbin
> Priority: Major
>
> When upgraded to Kudu 1.17.0 from any prior Kudu release, it's not possible
> to drop an unbounded range in an already existing table that uses hash and
> range partitioning scheme (for range and hash partitioning example, see [this
> documentation
> page|https://kudu.apache.org/docs/schema_design.html#hash-range-partitioning-example]).
> Please note: the issue only manifests itself for unbounded ranges. Also,
> plain range partitioned tables (i.e. not involving range and hash
> partitioning, just range-partitioned without hash sub-partition for each
> range) are not affected.
> Below are the steps to reproduce the issue as per the instructions posted by
> the original reporter in a [message thread of the #kudu-general Slack
> channel|https://getkudu.slack.com/archives/C0CPXJ3CH/p1695107377230829].
> # Create table with range partition in Kudu 1.16.0 or any prior release:
> {noformat}
> sudo -u kudu kudu table create <master_rpc_addr> '{ "table_name":
> "default.test_drop_partition", "schema": { "columns": [ { "column_name":
> "id", "column_type": "INT32", "default_value": "1" }, { "column_name": "key",
> "column_type": "INT64", "is_nullable": false }, { "column_name": "name",
> "column_type": "STRING", "is_nullable": false } ], "key_column_names": ["id",
> "key"] }, "partition": { "hash_partitions": [{"columns": ["id"],
> "num_buckets": 2, "seed": 8}], "range_partition": { "columns": ["key"],
> "range_bounds": [ {"upper_bound": {"bound_type": "exclusive", "bound_values":
> ["1000"]} }, { "lower_bound": {"bound_type": "inclusive", "bound_values":
> ["1000"]},"upper_bound": {"bound_type": "exclusive", "bound_values":
> ["2000"]} } ] } }, "num_replicas": 3 }'
> {noformat}
> # Upgrade to Kudu 1.17.0 and try dropping the unbounded range partition:
> {noformat}
> sudo -u kudu kudu table drop_range_partition <master_rpc_addr>
> default.test_drop_partition [] [1000]
> {noformat}
> Dropping the range partition fails with the following message:
> {noformat}
> Invalid argument: no range partition to drop: VALUES < 1000
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)