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

Rajeshbabu Chintaguntla edited comment on PHOENIX-3569 at 1/9/17 11:06 AM:
---------------------------------------------------------------------------

[~chia7712] Moving the index updates to postPut/postDelete will not ensure 
actual data and index consistency all the time. For local indexes we are ok 
until HBase version contains  HBASE-15600 is released. After HBASE-15600 we 
don't see this kind of issues.



was (Author: rajeshbabu):
[~chia7712] Moving the index updates to postPut/postDelete will not ensure 
consistency. For local indexes we are ok until HBase version contains  
HBASE-15600 is released. After HBASE-15600 we don't see this kind of issues.
Can you provide the full stack trace?

> Deadlock when updating both of local and global index
> -----------------------------------------------------
>
>                 Key: PHOENIX-3569
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3569
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.9.0, 4.8.2
>            Reporter: ChiaPing Tsai
>            Priority: Critical
>         Attachments: PHOENIX-3569.v0.patch, PHOENIX-3569.v1.patch
>
>
> We update the global index in Observer#postBatchMutate, but the hook is 
> called before completing the mvcc.
> If ParallelWriterIndexCommitter are busy to update the local index, the other 
> updates for global index will be blocked and the mvcc of data table won't be 
> completed. The deadlock happens since the ParallelWriterIndexCommitter will 
> never complete the updates for local index.
> We can reproduce the deadlock through the following step.
> # create a data table with a local and a global index.
> # create 10+ (DEFAULT_CONCURRENT_INDEX_WRITER_THREADS) threads which disable 
> the auto commit to submit data
> # wait for the deadlock. the rs log will show the following message. "STUCK: 
> MultiVersionConcurrencyControl{readPoint=8790, writePoint=8801}"
> It seems to me that we should update the both of local and global index on 
> the hook of postPut and postDelete.
> Any suggestions are welcomed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to