New TableServers instance if new HBaseConfiguration
---------------------------------------------------
Key: HBASE-1787
URL: https://issues.apache.org/jira/browse/HBASE-1787
Project: Hadoop HBase
Issue Type: Bug
Reporter: stack
Fix For: 0.21.0
Down in guts of TableServers is a static map keyed by HBaseConfiguration
instance. If in such as HTable constructor, you keep passing the same
HBaseConfiguration instance, then you will get back a previously made
TableServers with cached region locations, zk connection setup, etc. If you
pass a new HBaseConfiguration each time, then on each new HTable, a new
TableServers instance will be built with attendant zk setup and resource costs
etc.
Users are surprised by this behavior: "What seems like a bug to me is that the
configuration object is caching state. I understand if HTable hangs on to
connections until it is closed. And I understand how calling new HTABLE twice
might open a new connection. That all seems okay. What I wouldn't expect is
that using an old configuration object will give me different behavior from
using a new one. A configuration seems like a static thing to me. It should
only change if I change it." -- Our Jim Firby
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.