[ 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)