[ 
https://issues.apache.org/jira/browse/HIVE-12170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14956157#comment-14956157
 ] 

Sergey Shelukhin commented on HIVE-12170:
-----------------------------------------

[~alangates] [~daijy] fyi

> normalize HBase metastore connection configuration
> --------------------------------------------------
>
>                 Key: HIVE-12170
>                 URL: https://issues.apache.org/jira/browse/HIVE-12170
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Priority: Blocker
>
> Right now there are two ways to get HBaseReadWrite instance in metastore. 
> Both get a threadlocal instance (is there a good reason for that?).
> 1) One is w/o conf and only works if someone called the (2) before, from any 
> thread.
> 2) The other blindly sets a static conf and then gets an instance with that 
> conf, or if someone already happened to call (1) or (2) from this thread, it 
> returns the existing instance with whatever conf was set before (but still 
> resets the current conf to new conf).
> This doesn't make sense even in single threaded case, and can easily lead to 
> bugs as described; the config propagation logic is not good (example - 
> HIVE-12167); some calls just reset config blindly, so there's no point in 
> setting staticConf, other than for those who don't have conf and would rely 
> on the static (which is bad design).
> Having connections with different configs reliably in not possible, and 
> multi-threaded cases would also break - you could even set conf, have it 
> reset and get instance with somebody else's conf. 
> Static should definitely be removed, maybe threadlocal too (HConnection is 
> thread-safe).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to