phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Taylor (JIRA)" <>
Subject [jira] [Created] (PHOENIX-4027) Mark index as disabled during partial rebuild after configurable amount of time
Date Fri, 14 Jul 2017 19:52:00 GMT
James Taylor created PHOENIX-4027:

             Summary: Mark index as disabled during partial rebuild after configurable amount
of time
                 Key: PHOENIX-4027
             Project: Phoenix
          Issue Type: Bug
            Reporter: James Taylor

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. :
                do {
                    hasMore =;
                    if (results.isEmpty()) break;

                    Result r = Result.create(results);
                    byte[] disabledTimeStamp = r.getValue(PhoenixDatabaseMetaData.TABLE_FAMILY_BYTES,
                    byte[] indexState = r.getValue(PhoenixDatabaseMetaData.TABLE_FAMILY_BYTES,

                    if (disabledTimeStamp == null || disabledTimeStamp.length == 0) {

                    // TODO: if disabledTimeStamp - System.currentTimeMillis() > configurableAmount

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

This message was sent by Atlassian JIRA

View raw message