[
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)