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.

Reply via email to