phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-4027) Mark index as disabled during partial rebuild after configurable amount of time
Date Sun, 16 Jul 2017 10:50:01 GMT

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

Hudson commented on PHOENIX-4027:
---------------------------------

FAILURE: Integrated in Jenkins build Phoenix-master #1689 (See [https://builds.apache.org/job/Phoenix-master/1689/])
PHOENIX-4027 Mark index as disabled during partial rebuild after (samarth: rev d541d6f2875a590580e8ccf05f26795083b06658)
* (edit) phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java
* (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java
* (edit) phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
* (edit) phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexFailureIT.java
* (edit) phoenix-core/src/main/java/org/apache/phoenix/query/QueryServicesOptions.java


> Mark index as disabled during partial rebuild after configurable amount of time
> -------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4027
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4027
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>            Assignee: Samarth Jain
>             Fix For: 4.12.0, 4.11.1
>
>         Attachments: PHOENIX-4027.patch
>
>
> Instead of marking an index as permanently disabled in the partial index rebuilder when
a failure occurs, we should let it try again up to a configurable amount of time. The reason
is that the fail-fast approach with the lower RPC timeout will continue to cause a failure
until the index region can be written to. This will allow us to ride out region moves without
a long RPC time out and thus without holding handler threads for long periods of time. We
can base the failure on the INDEX_DISABLE_TIMESTAMP value of an index as we walk through the
scan results here in MetaDataRegionObserver. :
> {code}
>                 do {
>                     results.clear();
>                     hasMore = scanner.next(results);
>                     if (results.isEmpty()) break;
>                     Result r = Result.create(results);
>                     byte[] disabledTimeStamp = r.getValue(PhoenixDatabaseMetaData.TABLE_FAMILY_BYTES,
>                         PhoenixDatabaseMetaData.INDEX_DISABLE_TIMESTAMP_BYTES);
>                     byte[] indexState = r.getValue(PhoenixDatabaseMetaData.TABLE_FAMILY_BYTES,
>                             PhoenixDatabaseMetaData.INDEX_STATE_BYTES);
>                     if (disabledTimeStamp == null || disabledTimeStamp.length == 0) {
>                         continue;
>                     }
>                     // TODO: if disabledTimeStamp - System.currentTimeMillis() > configurableAmount

>                     // then disable the index.
> {code}
> I'd propose we allow 30 minutes to get an index back online.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message