getConfiguration() implementation is misleading
-----------------------------------------------
Key: HBASE-5149
URL: https://issues.apache.org/jira/browse/HBASE-5149
Project: HBase
Issue Type: Improvement
Components: master, regionserver
Affects Versions: 0.90.4, 0.90.2, 0.90.1
Reporter: Mikael Sitruk
The following code will not return the cluster configuration but the local one
which is somewhat misleading.
{code}
conn = (HConnection) HConnectionManager.getConnection(m_hbConfig); //here the
configuration is local
Configuration conf = conn.getConfiguration()
conf.getString("hbase.hregion.majorcompaction"); // will return the parameter
from the local config instead of the cluster the connection is connected to.
{code}
It is suggested that once a connection has been acquired the configuration
object should be the one of the cluster.
As a general observation it is not possible to retrieve the used configuration
on the cluster
It is suggested to add API at {{HRegionServerInterface}}, {{HMasterInterface}}
to get the configuration used by the component appropriately (note in 0.90.4
the getConfiguration exist on the Server interface implemented by HRegionServer
and HMaster classes) but this interface is not visible/extended by
HRegionServerInterface/HMasterInterface, therefore not accessible from client
code.
Also an API like {{HashMap<HserverInfo,Configuration>
getClusterConfigurations()}} can be added on the HConnection object.
Additional notes:
Since servers can have different properties values (like disk, tmp dir,...) it
can be acceptable that the configuration object returned by the connection
returns special value to indicate - conflict between value or that multiple
values exist.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira