hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samarth Jain (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18378) Cloning configuration contained in CoprocessorEnvironment doesn't work
Date Thu, 13 Jul 2017 23:51:00 GMT

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

Mime
View raw message