You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Sankar Hariappan (Jira)" <ji...@apache.org> on 2021/05/12 17:00: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 ]

Sankar Hariappan updated HIVE-22512:
------------------------------------
    Fix Version/s: 4.0.0

> 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
>              Labels: pull-request-available
>             Fix For: 4.0.0
>
>         Attachments: HIVE-22512.01.patch, HIVE-22512.02.patch, HIVE-22512.03.patch
>
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> 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)