Peng Cheng created HIVE-18024:
---------------------------------

             Summary: Driver.compile() should fallback to 
SessionState.getUserName() when userName=null
                 Key: HIVE-18024
                 URL: https://issues.apache.org/jira/browse/HIVE-18024
             Project: Hive
          Issue Type: Bug
          Components: Hive, Query Planning
    Affects Versions: 2.3.0, 1.2.2
            Reporter: Peng Cheng
            Priority: Minor


When Driver.compile() is invoked for the execution of a hive command. A 
HiveSemanticAnalyzerHookContext will be initialized and later used by a 
HiveSemanticAnalyzerHook for various purposes (e.g. when integrated with Apache 
Sentry, its HiveSemanticAnalyzerHook can authorize this command)

In current versions, the data in this HiveSemanticAnalyzerHookContext will come 
from different and inconsistent resources. e.g. ipAddress will be copied from 
SessionState.getUserIPAddress, but userName will be copied from Driver.userName.

This has effectively caused HiveSemanticAnalyzerHook to be useless for several 
authentication/authorization patterns. E.g. When 
hive.security.authentication.manager is set to SessionStateUserAuthenticator, 
the userName carried by such SessionState will be invisible to the Hook, which 
may cause it to yield incorrect result(s).

proposed fix: when Driver.userName=null, the userName of 
HiveSemanticAnalyzerHookContext should be set to 
SessionState.get().getUserName() as a fallback measure.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to