HConnectionManager.getConnection(HBaseConfiguration) returns same HConnection 
for different HBaseConfigurations 
----------------------------------------------------------------------------------------------------------------

                 Key: HBASE-1251
                 URL: https://issues.apache.org/jira/browse/HBASE-1251
             Project: Hadoop HBase
          Issue Type: Bug
          Components: client
    Affects Versions: 0.19.0
            Reporter: Guilherme Mauro Germoglio Barbosa


This occurs when the following happens:

1. Consider a client that invokes HBaseAdmin.checkHBaseAvailable(config) before 
doing anything. Although this method copies the HBaseConfiguration object and 
sets hbase.client.retries.number to 1 (see HBaseAdmin, line 751), it creates an 
HBaseAdmin object, which invokes HConnectionManager.getConnection(conf). Please 
notice that this conf is that with hbase.client.retries.number equals to 1. 
2. HConnectionManager.getConnection then creates a HConnection using this conf 
and puts it into a static map (see HConnectionManager, line 93) indexed by 
hbase.rootdir. 
3. Then, if the same client now creates a HTable object (using, for instance, a 
HBaseConfiguration with  hbase.client.retries.number equals to 10 but the same 
hbase.rootdir), it will invoke HConnectionManager.getConnection(conf) again 
(see HTable, line 109). However, when it checks the static map for a 
HConnection it finds one - the one previously created by the HBaseAdmin object 
and using hbase.client.retries.number 1 - and returns it without creating a new 
one with the correct HBaseConfiguration.

However, the expected behavior is: HConnectionManager must return different 
HConnections for different HBaseConfigurations.  

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