[
https://issues.apache.org/jira/browse/HBASE-18378?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16086615#comment-16086615
]
Samarth Jain commented on HBASE-18378:
--------------------------------------
Using the HBaseConfiguration method could have unintended side-effects. For ex,
the HBaseConfiguration#create() method adds the
HBaseConfiguration.class.getClassLoader().
{code}
/**
* Creates a Configuration with HBase resources
* @return a Configuration with HBase resources
*/
public static Configuration create() {
Configuration conf = new Configuration();
// In case HBaseConfiguration is loaded from a different classloader than
// Configuration, conf needs to be set with appropriate class loader to
resolve
// HBase resources.
conf.setClassLoader(HBaseConfiguration.class.getClassLoader());
return addHbaseResources(conf);
}
{code}
So if I used
{code}
public static Configuration create(final Configuration that)
{code}
then the config returned by the above method would have the class loader set.
> Cloning configuration contained in CoprocessorEnvironment doesn't work
> ----------------------------------------------------------------------
>
> Key: HBASE-18378
> URL: https://issues.apache.org/jira/browse/HBASE-18378
> Project: HBase
> Issue Type: Bug
> Reporter: Samarth Jain
>
> In our phoenix co-processors, we need to clone configuration passed in
> CoprocessorEnvironment.
> However, using the copy constructor declared in it's parent class,
> Configuration, doesn't copy over anything.
> For example:
> {code}
> CorpocessorEnvironment e
> Configuration original = e.getConfiguration();
> Configuration clone = new Configuration(original);
> clone.get(HConstants.ZK_SESSION_TIMEOUT) -> returns null
> e.configuration.get(HConstants.ZK_SEESION_TIMEOUT) -> returns
> HConstants.DEFAULT_ZK_SESSION_TIMEOUT
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)