You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Alexey Serbin (Code Review)" <ge...@cloudera.org> on 2022/07/08 17:36:35 UTC

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Alexey Serbin has uploaded this change for review. ( http://gerrit.cloudera.org:8080/18713


Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................

KUDU-2671 forward-looking provision for AddRangePartition

The way how the information on range-specific hash schema is specified
in AlterTableRequestPB::AddRangePartition introduced by [1] assumes
there should not be an empty custom hash schema for a range when the
table-wide hash schema isn't empty.  As of now, the assumption holds
true since there is an artificial restriction on the variability of the
number of dimensions in per-range hash schemas in a table introduced
by changelist [2].  However, once the restriction introduced in [2] is
removed, the current type of the AddRangePartition::custom_hash_schema
deprives the code to tell between the case of a range-specific hash
schema with zero hash dimensions (a.k.a. empty hash schema, i.e. no hash
bucketing at all) and the case of table-wide hash schema for a newly
added range partition.

This patch fixes the deficiency, so now it's possible to call
has_custom_hash_schema() and hasCustomHashSchema() on AddRangePartition
object in C++ and Java code correspondingly, not relying on the
emptiness of the repeated field representing the set of hash dimensions
for the range-specific hash schema.

This patch would break backwards compatibility if there were a version
of Kudu released with the change introduced in changlist [1], but that's
not the case.  So, it was possible to simply change the type of the
AddRangePartition::custom_hash_schema field.

[1] https://github.com/apache/kudu/commit/11db3f28b36d92ce1515bcaace51a3586838abcb
[2] https://github.com/apache/kudu/commit/6998193e69eeda497f912d1d806470c95b591ad4

Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M src/kudu/client/table_alterer-internal.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
5 files changed, 24 insertions(+), 15 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/13/18713/1
-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Attila Bukor (Code Review)" <ge...@cloudera.org>.
Attila Bukor has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 1: Code-Review+2


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Mon, 11 Jul 2022 21:52:54 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Abhishek Chennaka (Code Review)" <ge...@cloudera.org>.
Abhishek Chennaka has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 2: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Tue, 12 Jul 2022 02:15:15 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................

KUDU-2671 forward-looking provision for AddRangePartition

The way how the information on range-specific hash schema is specified
in AlterTableRequestPB::AddRangePartition introduced by [1] assumes
there should not be an empty custom hash schema for a range when the
table-wide hash schema isn't empty.  As of now, the assumption holds
true since there is an artificial restriction on the variability of the
number of dimensions in per-range hash schemas in a table introduced
by changelist [2].  However, once the restriction introduced in [2] is
removed, the current type of the AddRangePartition::custom_hash_schema
deprives the code to tell between the case of a range-specific hash
schema with zero hash dimensions (a.k.a. empty hash schema, i.e. no hash
bucketing at all) and the case of table-wide hash schema for a newly
added range partition.

This patch fixes the deficiency, so now it's possible to call
has_custom_hash_schema() and hasCustomHashSchema() on AddRangePartition
object in C++ and Java code correspondingly, not relying on the
emptiness of the repeated field representing the set of hash dimensions
for the range-specific hash schema.

This patch would break backwards compatibility if there were a version
of Kudu released with the change introduced in changlist [1], but that's
not the case.  So, it was possible to simply change the type of the
AddRangePartition::custom_hash_schema field.

[1] https://github.com/apache/kudu/commit/11db3f28b36d92ce1515bcaace51a3586838abcb
[2] https://github.com/apache/kudu/commit/6998193e69eeda497f912d1d806470c95b591ad4

Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Reviewed-on: http://gerrit.cloudera.org:8080/18713
Tested-by: Alexey Serbin <al...@apache.org>
Reviewed-by: Mahesh Reddy <mr...@cloudera.com>
Reviewed-by: Abhishek Chennaka <ac...@cloudera.com>
Reviewed-by: Alexey Serbin <al...@apache.org>
---
M java/kudu-client/src/main/java/org/apache/kudu/client/AlterTableOptions.java
M src/kudu/client/table_alterer-internal.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/master-test.cc
M src/kudu/master/master.proto
5 files changed, 24 insertions(+), 15 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved; Verified
  Mahesh Reddy: Looks good to me, but someone else must approve
  Abhishek Chennaka: Looks good to me, but someone else must approve

-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 3
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed a vote on this change.

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 2: Code-Review+2

Carrying over Attila's +2 from PS1 (the patch was re-based, otherwise no updates since PS1).


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Tue, 12 Jul 2022 02:25:51 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has removed a vote on this change.

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Removed Verified-1 by Kudu Jenkins (120)
-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: deleteVote
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 1: Verified+1

unrelated test failures in
  * LogRollingITest.TestLogCleanupOnStartup
  * TabletCopyClientBasicTestModes/TabletCopyClientBasicTest.TestDownloadBlockMayFail/0


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Sat, 09 Jul 2022 16:32:14 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Alexey Serbin (Code Review)" <ge...@cloudera.org>.
Alexey Serbin has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 2: Verified+1

unrelated build failure in RELEASE configuration, probably due to polluted Jenkins workspace


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Tue, 12 Jul 2022 01:28:45 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Mahesh Reddy (Code Review)" <ge...@cloudera.org>.
Mahesh Reddy has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 1: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Mon, 11 Jul 2022 19:24:11 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Mahesh Reddy (Code Review)" <ge...@cloudera.org>.
Mahesh Reddy has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 2: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 2
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Tue, 12 Jul 2022 01:35:59 +0000
Gerrit-HasComments: No

[kudu-CR] KUDU-2671 forward-looking provision for AddRangePartition

Posted by "Abhishek Chennaka (Code Review)" <ge...@cloudera.org>.
Abhishek Chennaka has posted comments on this change. ( http://gerrit.cloudera.org:8080/18713 )

Change subject: KUDU-2671 forward-looking provision for AddRangePartition
......................................................................


Patch Set 1: Code-Review+1


-- 
To view, visit http://gerrit.cloudera.org:8080/18713
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I30f654443c7f51a76dea9d980588b399b06c2dd1
Gerrit-Change-Number: 18713
Gerrit-PatchSet: 1
Gerrit-Owner: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Abhishek Chennaka <ac...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <al...@apache.org>
Gerrit-Reviewer: Attila Bukor <ab...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Comment-Date: Mon, 11 Jul 2022 15:04:17 +0000
Gerrit-HasComments: No