You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@phoenix.apache.org by "Vincent Poon (JIRA)" <ji...@apache.org> on 2018/10/12 22:56:00 UTC

[jira] [Commented] (PHOENIX-4785) Unable to write to table if index is made active during retry

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

Vincent Poon commented on PHOENIX-4785:
---------------------------------------

[~ankit@apache.org][~pboado] Please review attached addendum patch
I found two problems with the test in HBase 1.2 and lower:
1)  There was a deadlock because the HTable threadpool is size 10.  All 10 were being used in for the 10 requests in addRowsInTableDuringRetry(), but when PhoenixIndexFailurePolicy is triggered, in getTableNoCache for some reason the same threadpool is used, and there are no more threads available.  Changing the number of threads in the test to 9 instead of 10 fixes this.
2)  For local indexes, in 1.3+ the index write is transactional, so the failure code is never exercised.  In 1.2 and lower, the failure code gets triggered, but we never toggle FAIL_WRITE back to false so that the retry can succeed.


> Unable to write to table if index is made active during retry
> -------------------------------------------------------------
>
>                 Key: PHOENIX-4785
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4785
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.14.0
>            Reporter: Romil Choksi
>            Assignee: Ankit Singhal
>            Priority: Blocker
>             Fix For: 5.0.0, 4.14.1
>
>         Attachments: PHOENIX-4785.addendum.HBase-1.2.patch, PHOENIX-4785.v1.master.patch, PHOENIX-4785_test.patch, PHOENIX-4785_v2.patch, PHOENIX-4785_v2_5.0-branch.patch, PHOENIX-4785_v3_master.patch
>
>
> After PHOENIX-4130, we are unable to write to a table if an index is made ACTIVE during the retry as client timestamp is not cleared when table state is changed from PENDING_DISABLE to ACTIVE even if our policy is not to block writes on data table in case of write failure for index.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)