[
https://issues.apache.org/jira/browse/PHOENIX-5094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16754608#comment-16754608
]
Kiran Kumar Maturi commented on PHOENIX-5094:
---------------------------------------------
[~vincentpoon] When the index state changes to INACTIVE it waits for some time
before starting the rebuilder starts
{code:java}
// Wait until no failures have occurred in at least forwardOverlapDurationMs
if (indexStateCell.getTimestamp() + forwardOverlapDurationMs > currentTime) {
LOG.debug("Still must wait " + (indexStateCell.getTimestamp() +
forwardOverlapDurationMs - currentTime) + " before starting rebuild for " +
indexTableFullName);
continue; // Haven't waited long enough yet
}{code}
during this duration the index can be disabled again ( INACTIVE -->
PENDING_DISABLE --> DISABLE ).
Which will cause the index to move to INACTIVE state and the increment to
happen again. In order to identify and make sure the increment is done only
once during (DISABLED to INACTIVE state), I am using a large number.
With smaller increments its difficult to know if the increment happened from
client or rebuilder.
> 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
> Assignee: Kiran Kumar Maturi
> Priority: Major
> Attachments: PHOENIX-5094-4.14-HBase-1.3.01.patch,
> PHOENIX-5094-4.14-HBase-1.3.02.patch, PHOENIX-5094-master.01.patch
>
>
> 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)