[ https://issues.apache.org/jira/browse/PHOENIX-3360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15970391#comment-15970391 ]
Ankit Singhal edited comment on PHOENIX-3360 at 4/16/17 1:40 PM: ----------------------------------------------------------------- bq. Yes James Taylor we have observed index updates and meta updates are going with higher priority in case of RS->RS. [~rajeshbabu], In the case of UPSERT SELECT running on server, we also need high priority RPCs for cross regionserver UPSERTs. Is that also covered? was (Author: an...@apache.org): bq. Yes James Taylor we have observed index updates and meta updates are going with higher priority in case of RS->RS. [~rajeshbabu], In the case of UPSERT SELECT, we also need high priority RPCs for cross regionserver UPSERTs. Is that also covered? > 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, indexlogging.patch, 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)