You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2017/04/12 18:29:41 UTC

[jira] [Comment Edited] (PHOENIX-3360) Secondary index configuration is wrong

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

James Taylor edited comment on PHOENIX-3360 at 4/12/17 6:29 PM:
----------------------------------------------------------------

[~enis] & [~rajeshbabu] - just want to confirm that we *still need* the RPC scheduler configured as we document here[1]:
{code}
<property>
  <name>hbase.region.server.rpc.scheduler.factory.class</name>
  <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
  <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
</property>
{code}
This patch is more to ensure that other, non index related RS->RS calls are not using the higher priority queue.

Is that correct? Or, looking closer, it looks like ServerRpcControllerFactory is a Phoenix class (confusing that it's in org.apache.hadoop.hbase.ipc.controller package). It looks like that factory does everything we need, so the config is no longer necessary.

Would appreciate if you could confirm.

[1] https://phoenix.apache.org/secondary_indexing.html#Setup


was (Author: jamestaylor):
[~enis] & [~rajeshbabu] - just want to confirm that we *still need* the RPC scheduler configured as we document here[1]:
{code}
<property>
  <name>hbase.region.server.rpc.scheduler.factory.class</name>
  <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>
  <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>
</property>
{code}
This patch is more to ensure that other, non index related RS->RS calls are not using the higher priority queue.

Is that correct?

[1] https://phoenix.apache.org/secondary_indexing.html#Setup

> Secondary index configuration is wrong
> --------------------------------------
>
>                 Key: PHOENIX-3360
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3360
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: William Yang
>            Priority: Critical
>             Fix For: 4.10.0
>
>         Attachments: ConfCP.java, PHOENIX-3360.patch, PHOENIX-3360-v2.PATCH, PHOENIX-3360-v3.PATCH, PHOENIX-3360-v4.PATCH
>
>
> IndexRpcScheduler allocates some handler threads and uses a higher priority for RPCs. The corresponding IndexRpcController is not used by default as it is, but used through ServerRpcControllerFactory that we configure from Ambari by default which sets the priority of the outgoing RPCs to either metadata priority, or the index priority.
> However, after reading code of IndexRpcController / ServerRpcController it seems that the IndexRPCController DOES NOT look at whether the outgoing RPC is for an Index table or not. It just sets ALL rpc priorities to be the index priority. The intention seems to be the case that ONLY on servers, we configure ServerRpcControllerFactory, and with clients we NEVER configure ServerRpcControllerFactory, but instead use ClientRpcControllerFactory. We configure ServerRpcControllerFactory from Ambari, which in affect makes it so that ALL rpcs from Phoenix are only handled by the index handlers by default. It means all deadlock cases are still there. 
> The documentation in https://phoenix.apache.org/secondary_indexing.html is also wrong in this sense. It does not talk about server side / client side. Plus this way of configuring different values is not how HBase configuration is deployed. We cannot have the configuration show the ServerRpcControllerFactory even only for server nodes, because the clients running on those nodes will also see the wrong values. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)