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/03/19 03:29:42 UTC

[jira] [Resolved] (PHOENIX-871) Mutable Secondary Indexing can cause a deadlock on exception

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

Jesse Yates resolved PHOENIX-871.
---------------------------------

    Resolution: Fixed

Committed to 3.0, 4.0 and master branches.

> Mutable Secondary Indexing can cause a deadlock on exception
> ------------------------------------------------------------
>
>                 Key: PHOENIX-871
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-871
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 2.2.3, 3.0.0, 4.0.0
>            Reporter: Jesse Yates
>            Assignee: Jesse Yates
>             Fix For: 3.0.0, 4.0.0
>
>         Attachments: phoenix-871-3.0.txt, phoenix-871-master.txt
>
>
> We had a regionserver fail to go down on our internal environment. After digging through the jstacks and logs, it looks like it was because the INDEX_UPDATE_LOCK was held and never released because, we think, and exception writing do the WAL, meaning the postXXXX methods never got called.
> We then realized that we can remove the lock entirely (and the need for the log roll synchronization) by performing the write during postBatchMutate. This avoids an possible hanging locks (from not getting informed of the exception) but still retains the rest of the index correctness since it is performed under the updateLock (which will prevent a cache flush or a log roll).



--
This message was sent by Atlassian JIRA
(v6.2#6252)