[ https://issues.apache.org/jira/browse/HBASE-18359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16081725#comment-16081725 ]
Sergey Soldatov commented on HBASE-18359: ----------------------------------------- The behavior has been changed during the fix for HBASE-11766. Previously the connection was created with the configuration from env, but during the fix that has been missed. > CoprocessorHConnection#getConnectionForEnvironment should read config from > CoprocessorEnvironment > ------------------------------------------------------------------------------------------------- > > Key: HBASE-18359 > URL: https://issues.apache.org/jira/browse/HBASE-18359 > Project: HBase > Issue Type: Bug > Reporter: Samarth Jain > > It seems like the method getConnectionForEnvironment isn't doing the right > thing when it is creating a CoprocessorHConnection by reading the config from > HRegionServer and not from the env passed in. > If coprocessors want to use a CoprocessorHConnection with some custom config > settings, then they have no option but to configure it in the hbase-site.xml > of the region servers. This isn't ideal as a lot of times these "global" > level configs can have side effects. See PHOENIX-3974 as an example where > configuring ServerRpcControllerFactory (a Phoenix implementation of > RpcControllerFactory) could result in deadlocks. Or PHOENIX-3983 where > presence of this global config causes our index rebuild code to incorrectly > use handlers it shouldn't. > If the CoprocessorHConnection created through getConnectionForEnvironment API > used the CoprocessorEnvironment config, then it would allow co-processors to > pass in their own config without needing to configure them in hbase-site.xml. > The change would be simple. Basically change the below > {code} > if (services instanceof HRegionServer) { > return new CoprocessorHConnection((HRegionServer) services); > } > {code} > to > {code} > if (services instanceof HRegionServer) { > return new CoprocessorHConnection(env.getConfiguration(), > (HRegionServer) services); > } > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)