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

Ganesha Shreedhara updated HIVE-18859:
--------------------------------------
    Status: Patch Available  (was: Open)

> Incorrect handling of thrift metastore exceptions
> -------------------------------------------------
>
>                 Key: HIVE-18859
>                 URL: https://issues.apache.org/jira/browse/HIVE-18859
>             Project: Hive
>          Issue Type: Bug
>    Affects Versions: 2.1.1, 1.2.0
>            Reporter: Ganesha Shreedhara
>            Assignee: Ganesha Shreedhara
>            Priority: Major
>         Attachments: HIVE-18859.patch
>
>
> Currently any run time exception thrown in thrift metastore during the 
> following operations is not getting sent to hive execution engine.
>  * grant/revoke role
>  * grant/revoke privileges
>  * create role
> This is because ThriftHiveMetastore just handles MetaException and throws 
> TException during the processing of these requests.  So, the command just 
> fails at thrift metastore end (Exception can be seen in metastore log) but 
> the hive execution engine will keep on waiting for the response from thrift 
> metatstore.
>  
> Steps to reproduce this problem :
> Launch thrift metastore
> Launch hive cli by passing --hiveconf 
> hive.metastore.uris=thrift://127.0.0.1:10000 (pass the thrift metatstore host 
> and port)
> Execute the following commands:
>  # set role admin
>  # create role test; (succeeds)
>  # create role test; ( hive version 2.1.1 : command is stuck, waiting for the 
> response from thrift metastore; hive version 1.2.1: command fails with 
> exception as null) 
>  
> I have uploaded the patch which has the fix in which I am handling the 
> checked exceptions in MetaException and throwing unchecked exceptions using 
> TException which fixes the problem. Please review and suggest if there is a 
> better way of handling this issue.
>  



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

Reply via email to