You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Adar Dembo (JIRA)" <ji...@apache.org> on 2019/05/21 20:32:00 UTC

[jira] [Assigned] (KUDU-2802) The Java client tableExists should use GetTableSchema

     [ https://issues.apache.org/jira/browse/KUDU-2802?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adar Dembo reassigned KUDU-2802:
--------------------------------

    Assignee: Xu Yao

> The Java client tableExists should use GetTableSchema
> -----------------------------------------------------
>
>                 Key: KUDU-2802
>                 URL: https://issues.apache.org/jira/browse/KUDU-2802
>             Project: Kudu
>          Issue Type: Improvement
>    Affects Versions: 1.9.0
>            Reporter: Grant Henke
>            Assignee: Xu Yao
>            Priority: Major
>
> Currently the Java client `tableExists()` method uses a ListTables rpc. Instead it should use a GetTableSchema rpc. 
> Based on a comment in this [review|https://gerrit.cloudera.org/#/c/13120/2/java/kudu-backup/src/main/scala/org/apache/kudu/backup/KuduBackup.scala@51] it could be especially important when authorization via Sentry is enabled:
> {quote}
> ...tableExists() is a bad idea if Sentry integration is enabled. That's because tableExists() results in a ListTables RPC, and ListTables is going to perform really poorly with a cold Sentry cache: it'll send an RPC to Sentry for every table in the catalog. Coupled with the loop here (for each table being backed up) and it's bad news all around...
> {quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)