[
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)