You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Thomas D'Silva (JIRA)" <ji...@apache.org> on 2015/02/23 21:06:11 UTC

[jira] [Created] (PHOENIX-1676) Set priority of Index Updates correctly

Thomas D'Silva created PHOENIX-1676:
---------------------------------------

             Summary: Set priority of Index Updates correctly 
                 Key: PHOENIX-1676
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1676
             Project: Phoenix
          Issue Type: Bug
            Reporter: Thomas D'Silva


I spoke to Jesse offline about this. 

The priority of index updates isn't being set correctly because of the use of CoprocessorHConnection (which all coprocessors use if they create an HTable via the CPEnvironment).

Specifically the flow happens like this: the CoprocessorHTableFactory attempts to set the connection qos factory, but it is ignored because the CoprocessorHConnection is used (instead of a standard HConnection) and the #getClient method just goes straight into the rpc scheduler of the HRegionServer, if its on the same server. This allows the region to be directly accessed, but without actually going over the loopback or serializing any information.

However, this means it ignores the configured rpccontroller factory and the override setting of the rpc priority. We probably shouldn't be runtime changing the configuration - instead we should probably be using some other serialized information.

The primary fix would seems to be that the regionserver needs to be configured with the IndexQosRpcControllerFactory and then use a static map (or cache of the index metadata) to set the qos for the index servers. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)