Andrew Wong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16273 )

Change subject: IMPALA-9990: Support SET OWNER for Kudu tables
......................................................................


Patch Set 6:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/16273/6/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
File fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java:

http://gerrit.cloudera.org:8080/#/c/16273/6/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java@3779
PS6, Line 3779:     if (isSynchronizedKuduTable) {
> Thanks Vihang for the feedback!
Thinking through the options, a few come to mind:

1. Return an error
2. Change the Kudu table's owner _and_ the HMS external table's owner
3. Just change the HMS external table's owner

So here's some food for thought: Is the ownership of a table meant to be 
consistent across all references to that table (i.e. all external tables)? I 
think the answer is no. Take the case in which we have multiple, separate 
Impala clusters pointing at a Kudu table in our local cluster via external 
tables. If one of those Impala clusters sets a different owner for its external 
table, the metadata change wouldn't be reflected on all of the other clusters' 
HMSs' external tables, since none of the HMS tables are synchronized. In that 
regard, I think it would be weird if the ownership change of an external table 
resulted in a change in ownership of the underlying Kudu table, since the 
ownership change may not be reflected by all of its references (including the 
external table that we just changed the ownership of!). Based on this, I would 
lean away from option 2.

Digging into the other two options, I'm trying to better understand what 
ownership is in the context of an external table. Is it meant to be used as the 
owner of the underlying table? Or the owner of the HMS metadata entry (e.g. the 
owner of a symlink)? Also, are external tables even able to have owners that 
are not the owner of the underlying table? I would think the answer is yes, and 
that "ownership" refers to ownership of the external table only, in which case 
I would lean towards option 3, especially if that's allowed behavior today.



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I29d641efc8db314964bc5ee9828a86d4a44ae95c
Gerrit-Change-Number: 16273
Gerrit-PatchSet: 6
Gerrit-Owner: Fang-Yu Rao <fangyu....@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Attila Bukor <abu...@apache.org>
Gerrit-Reviewer: Fang-Yu Rao <fangyu....@cloudera.com>
Gerrit-Reviewer: Grant Henke <granthe...@apache.org>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vih...@cloudera.com>
Gerrit-Comment-Date: Thu, 22 Oct 2020 20:25:52 +0000
Gerrit-HasComments: Yes

Reply via email to