You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Jesse Yates (JIRA)" <ji...@apache.org> on 2014/07/11 04:52:05 UTC

[jira] [Updated] (PHOENIX-938) Use higher priority queue for index updates to prevent deadlock

     [ https://issues.apache.org/jira/browse/PHOENIX-938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jesse Yates updated PHOENIX-938:
--------------------------------

    Attachment: phoenix-938-master-v2.patch

Patch that supports HBase 0.98.4 and below. Unfortunately, requires release of 0.98.4 to use the RpcExecutor that comes in 0.98.4 (to compile). We could scale it back to not use that, but then we'd just want to add it again when 0.98.4 is released... so maybe just wait?

Also, tested this with an HBase cluster of 0.98.4,0.98.3, and 0.98.2... so it should be ok for backwards compatibility.

> 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
>             Fix For: 5.0.0, 4.1
>
>         Attachments: phoenix-938-4.0-v0.patch, phoenix-938-master-v0.patch, phoenix-938-master-v1.patch, phoenix-938-master-v2.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)