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

Samarth Jain commented on PHOENIX-3974:
---------------------------------------

With 0.98 we noticed that we had to set both the RPCControllerFactory as well 
as the RPCSchedulerFactory configs. See this:
https://issues.apache.org/jira/browse/PHOENIX-3360?focusedCommentId=15968697&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15968697

And +1 to what [~lhofhansl] suggested. Maybe the change should be here? 

{code}
if (upsertSelectTable != null) {
             isUpsert = true;
             projectedTable = deserializeTable(upsertSelectTable);
+            
env.getConfiguration().setClass(RpcControllerFactory.CUSTOM_CONTROLLER_CONF_KEY,
 ServerRpcControllerFactory.class,
+                RpcControllerFactory.class);
             targetHTable = new HTable(env.getConfiguration(), 
projectedTable.getPhysicalName().getBytes());
             selectExpressions = 
deserializeExpressions(scan.getAttribute(BaseScannerRegionObserver.UPSERT_SELECT_EXPRS));
             values = new byte[projectedTable.getPKColumns().size()][];
{code}



> Create index may issue a distributed dead lock due lack of handlers
> -------------------------------------------------------------------
>
>                 Key: PHOENIX-3974
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3974
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.11.0
>            Reporter: Sergey Soldatov
>            Assignee: Sergey Soldatov
>         Attachments: PHOENIX-3974.patch
>
>
> In PHOENIX-3360 we were trying to avoid using index rpc on client side, 
> setting controller manually in Indexer.  But after we moved index creating to 
> server side there is another set of RS-RS communication that comes from 
> UngroupedAggregateRegionObserver with regular priority. That may cause 
> distributed dead lock when all handlers are occupied by index create scanners 
> for user table and inside they are trying to send index updates. To prevent 
> it we need to set controller in UngroupedAggregateRegionObserver in the 
> similar way like we did in Indexer. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to