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

Ankit Singhal commented on PHOENIX-4785:
----------------------------------------

Thanks [~vincentpoon] for taking a look.

bq. do you know if there's any way we can increment/decrement only if the index 
is in PENDING_DISABLE state? here does seem to be a small race condition e.g. 
where an client gets an index write failure and starts retrying , the rebuilder 
thread goes through the DISABLE -> ACTIVE cycle and clears the counter, then 
the counter gets decremented after the client retries are exhausted.  It's nice 
that you clear the counter at ACTIVE as well as DISABLE so the odds of this are 
minimal.

Yes , I think you are right, negative value(because of a decrement by client 
after the counter is cleared) could cause a problem if not cleared correctly on 
other states. Let me try your suggestion and give some thought to this. 

 

> 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.v1.master.patch, PHOENIX-4785_test.patch, 
> PHOENIX-4785_v2.patch, PHOENIX-4785_v2_5.0-branch.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)

Reply via email to