[ https://issues.apache.org/jira/browse/PHOENIX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13977084#comment-13977084 ]
James Taylor commented on PHOENIX-938: -------------------------------------- One option that would still go through the Configuration to determine if a table is an index but require no external synchronization would be to add a configuration property with a name formed by "_IDX_" + tableName and a value of Boolean.TRUE. Then it's just a hash lookup to determine if a table is an index table. > Use higher priority queue for index updates to prevent deadlock > --------------------------------------------------------------- > > Key: PHOENIX-938 > URL: https://issues.apache.org/jira/browse/PHOENIX-938 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.0.0, 4.1 > Reporter: James Taylor > Assignee: Jesse Yates > Attachments: phoenix-938-master-v0.patch > > > With our current global secondary indexing solution, a batched Put of table > data causes a RS to do a batch Put to other RSs. This has the potential to > lead to a deadlock if all RS are overloaded and unable to process the pending > batched Put. To prevent this, we should use a higher priority queue to submit > these Puts so that they're always processed before other Puts. This will > prevent the potential for a deadlock under high load. Note that this will > likely require some HBase 0.98 code changes and would not be feasible to > implement for HBase 0.94. -- This message was sent by Atlassian JIRA (v6.2#6252)