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

ASF GitHub Bot commented on PHOENIX-6298:
-----------------------------------------

virajjasani commented on pull request #1060:
URL: https://github.com/apache/phoenix/pull/1060#issuecomment-754830104


   Thanks for the review @gjacoby126 . Added a test.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> Use timestamp of PENDING_DISABLE_COUNT to calculate elapse time for 
> PENDING_DISABLE state
> -----------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-6298
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6298
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 5.0.0, 4.15.0
>            Reporter: Ankit Singhal
>            Assignee: Viraj Jasani
>            Priority: Major
>             Fix For: 5.1.0, 4.16.0
>
>
> Instead of taking indexDisableTimestamp to calculate the elapsed time, we 
> should be considering the last time we incr/decremented the counter for 
> PENDING_DISABLE_COUNT. as if the application writes failures span more than 
> the default threshold of 30 seconds, the index will unnecessarily get 
> disabled even though the client could have retried and made it active.
> {code}
>                     long elapsedSinceDisable = 
> EnvironmentEdgeManager.currentTimeMillis() - Math.abs(indexDisableTimestamp);
> // on an index write failure, the server side transitions to PENDING_DISABLE, 
> then the client
>                     // retries, and after retries are exhausted, disables the 
> index
>                     if (indexState == PIndexState.PENDING_DISABLE) {
>                         if (elapsedSinceDisable > pendingDisableThreshold) {
>                             // too long in PENDING_DISABLE - client didn't 
> disable the index, so we do it here
>                             IndexUtil.updateIndexState(conn, 
> indexTableFullName, PIndexState.DISABLE, indexDisableTimestamp);
>                         }
>                         continue;
>                     }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to