[ https://issues.apache.org/jira/browse/HBASE-18359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16256688#comment-16256688 ]
Anoop Sam John commented on HBASE-18359: ---------------------------------------- Ya that make sense James. So what u say is u can not make this config changes globally in xml in the RS side . Correct? With current 2.0 you can not do this. Ya u can create connection how u make at client side. But will not get the short circuit benefit then. So if u need this, we will have to add new way then. Let us know. > 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 > Fix For: 2.0.0 > > > 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)