Jesse Yates created PHOENIX-871:
-----------------------------------

             Summary: 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


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)

Reply via email to