[ https://issues.apache.org/jira/browse/PHOENIX-1676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas D'Silva updated PHOENIX-1676: ------------------------------------ Affects Version/s: 4.3.1 > 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 > Attachments: PHOENIX-1676-4.x-HBase-0.98.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)