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

Vincent Poon commented on PHOENIX-5094:
---------------------------------------

[~mihir6692] Maybe to avoid this race condition, we can use the pending disable 
counter? (see PhoenixIndexFailurePolicy#incrementCounterForIndex).

We do not transition from PENDING_DISABLE -> ACTIVE if the pending disable 
counter is > 0.  So perhaps the MetadataRegionObserver can increment this 
counter when it begins, and when it's done only transition to ACTIVE if the 
count is 1.  Otherwise, let the normal PENDING_DISABLE -> DISABLE transition 
happen, so the rebuild can start over.

WDYT?

> Index can transition from INACTIVE to ACTIVE via Phoenix Client
> ---------------------------------------------------------------
>
>                 Key: PHOENIX-5094
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5094
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 5.0.0, 4.14.1
>            Reporter: Monani Mihir
>            Priority: Major
>
> Suppose Index is in INACTIVE state and Client load is running continuously. 
> With INACTIVE State, client will keep maintaining index.
> Before Rebuilder could run and bring index back in sync with data table, If 
> some mutation for Index fails from client side, then client will transition 
> Index state (From INACTIVE--> PENDING_DISABLE).
> If client succeeds in writing mutation in subsequent retries, it will 
> transition Index state again ( From PENDING_DISABLE --> ACTIVE) .
> Above scenario will leave some part of Index out of sync with data table.



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

Reply via email to