[ 
https://issues.apache.org/jira/browse/PHOENIX-3994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16081435#comment-16081435
 ] 

James Taylor commented on PHOENIX-3994:
---------------------------------------

Thanks for the patch, [~samarthjain]. Just to confirm, your patch causes our 
existing setting of the CUSTOM_CONTROLLER_CONF_KEY here in Indexer to take 
effect as we expect?
{code}
  @Override
  public void start(CoprocessorEnvironment e) throws IOException {
      try {
        final RegionCoprocessorEnvironment env = (RegionCoprocessorEnvironment) 
e;
        this.environment = env;
        
env.getConfiguration().setClass(RpcControllerFactory.CUSTOM_CONTROLLER_CONF_KEY,
                ServerRpcControllerFactory.class, RpcControllerFactory.class);
{code}

And your new getDefaultDelegateHTableFactory is working around an HBase bug, 
right? Can you file an HBase JIRA if you haven't already and reference that 
JIRA in a comment on that method?

If we want to push a priority through the Configuration (i.e. for a more 
dynamic way of setting the priority for the UPSERT SELECT case), we'll likely 
need an additional method like this:
{code}
+    public static HTableFactory 
getDefaultDelegateHTableFactory(CoprocessorEnvironment env, Configuration 
overideConfig) {
{code}
Will this be done in a separate JIRA?


> Index RPC priority still depends on the controller factory property in 
> hbase-site.xml
> -------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3994
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3994
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.11.0
>            Reporter: Sergey Soldatov
>            Priority: Critical
>         Attachments: PHOENIX-3994.patch, PHOENIX-3994_v2.patch
>
>
> During PHOENIX-3360 we tried to remove dependency on 
> hbase.rpc.controllerfactory.class property in hbase-site.xml since it cause 
> problems on the client side (if client is using server side configuration, 
> all client request may go using index priority). Committed solution is using 
> setting the controller factory programmatically for coprocessor environment 
> in Indexer class, but it comes that this solution doesn't work because the 
> environment configuration is not used for the coprocessor connection 
> creation. We need to provide a better solution since this issue may cause 
> accidental locks and failures that hard to identify and avoid. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to