[
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:
---------------------------------------
[[email protected]][~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)