You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ashutosh Bapat (Jira)" <ji...@apache.org> on 2019/11/19 15:53:00 UTC

[jira] [Updated] (HIVE-22512) Use direct SQL to fetch column privileges in refreshPrivileges

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

Ashutosh Bapat updated HIVE-22512:
----------------------------------
    Attachment: HIVE-22512.01.patch
        Status: Patch Available  (was: Open)

> Use direct SQL to fetch column privileges in refreshPrivileges
> --------------------------------------------------------------
>
>                 Key: HIVE-22512
>                 URL: https://issues.apache.org/jira/browse/HIVE-22512
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore
>    Affects Versions: 4.0.0
>            Reporter: Ashutosh Bapat
>            Assignee: Ashutosh Bapat
>            Priority: Major
>         Attachments: HIVE-22512.01.patch
>
>
> refreshPrivileges() callsĀ listTableAllColumnGrants() to fetch the column level privileges. The later function retrieves the individual column objects by firing one query per column privilege object, thus causing the backend db to be swamped by these queries when PrivilegeSynchronizer is run. PrivilegeSynchronizer synchronizes privileges of all the databases, tables and columns and thus the backend db can get swamped really bad when there are thousands of tables with hundreds of columns.
> The output of listTableAllColumnGrants() is not used completely so all the columns the PM has tried to retrieves anyway goes waste.
> Fix this by using direct SQL to fetch column privileges.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)