[
https://issues.apache.org/jira/browse/PHOENIX-1676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Samarth Jain resolved PHOENIX-1676.
-----------------------------------
Resolution: Fixed
> Set priority of Index Updates correctly
> ----------------------------------------
>
> Key: PHOENIX-1676
> URL: https://issues.apache.org/jira/browse/PHOENIX-1676
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.0.0, 5.0.0, 4.3.1
> Reporter: Thomas D'Silva
> Assignee: Thomas D'Silva
> Fix For: 5.0.0, 4.3.1, 4.4.0
>
> Attachments: PHOENIX-1676-4.3.patch,
> PHOENIX-1676-4.x-HBase-0.98-v2.patch, PHOENIX-1676-4.x-HBase-0.98.patch,
> PHOENIX-1676-4.x-HBase-1.x-v2.patch, PHOENIX-1676-4.x-HBase-1.x.patch
>
>
> 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)