[
https://issues.apache.org/jira/browse/PHOENIX-4027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16090639#comment-16090639
]
Hudson commented on PHOENIX-4027:
---------------------------------
FAILURE: Integrated in Jenkins build Phoenix-master #1692 (See
[https://builds.apache.org/job/Phoenix-master/1692/])
PHOENIX-4027 Addendum - move testRebuildIndexConnectionProperties to its
(samarth: rev 48341ae3fcc645aa7f559ae98606c522c563268d)
* (edit)
phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java
* (edit) phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
* (add)
phoenix-core/src/it/java/org/apache/phoenix/end2end/RebuildIndexConnectionPropsIT.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_addendum.patch, 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)