[
https://issues.apache.org/jira/browse/PHOENIX-5080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Monani Mihir updated PHOENIX-5080:
----------------------------------
Attachment: PHOENIX-5080-4.x-HBase-1.3.05.patch
> Index becomes Active during Partial Index Rebuilder if Index Failure happens
> ----------------------------------------------------------------------------
>
> Key: PHOENIX-5080
> URL: https://issues.apache.org/jira/browse/PHOENIX-5080
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.14.1
> Reporter: Monani Mihir
> Assignee: Monani Mihir
> Priority: Blocker
> Attachments: PHOENIX-5080-4.x-HBase-1.3.01.patch,
> PHOENIX-5080-4.x-HBase-1.3.02.patch, PHOENIX-5080-4.x-HBase-1.3.02.patch,
> PHOENIX-5080-4.x-HBase-1.3.03.patch, PHOENIX-5080-4.x-HBase-1.3.04.patch,
> PHOENIX-5080-4.x-HBase-1.3.05.patch
>
>
> After PHOENIX-4130 and PHOENIX-4600 , If there is Index failure during
> Partial Index Rebuild, Rebuilder will try again to write Index updates. If it
> succeeds then it will transition Index from INACTIVE to ACTIVE, even before
> Rebuilder finishes.
> Here is where it goes wrong, I think :-
> {code:java}
> PhoenixIndexFailurePolicy.java :-
> public static void doBatchWithRetries(MutateCommand mutateCommand,
> IndexWriteException iwe, PhoenixConnection connection,
> ReadOnlyProps config) throws IOException {
> ....
> while (canRetryMore(numRetry++, maxTries, canRetryUntil)) {
> ...
> handleIndexWriteSuccessFromClient(iwe, connection);
> ...
> }
> }
> ....
> private static void handleIndexWriteSuccessFromClient(IndexWriteException
> indexWriteException, PhoenixConnection conn) {
> handleExceptionFromClient(indexWriteException, conn,
> PIndexState.ACTIVE);
> }
> {code}
>
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)