[ https://issues.apache.org/jira/browse/PHOENIX-4027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089551#comment-16089551 ]
Hadoop QA commented on PHOENIX-4027: ------------------------------------ {color:red}-1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12877530/PHOENIX-4027_addendum.patch against master branch at commit 18ea6edc00029e7e900ad95562fa73da0e5ccf51. ATTACHMENT ID: 12877530 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:red}-1 tests included{color}. The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:red}-1 javadoc{color}. The javadoc tool appears to have generated 51 warning messages. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:red}-1 lineLengths{color}. The patch introduces the following lines longer than 100: + serverProps.put(QueryServices.EXTRA_JDBC_ARGUMENTS_ATTRIB, QueryServicesOptions.DEFAULT_EXTRA_JDBC_ARGUMENTS); + serverProps.put(QueryServices.INDEX_REBUILD_RPC_RETRIES_COUNTER, Long.toString(NUM_RPC_RETRIES)); + MetaDataRegionObserver.getRebuildIndexConnection(hbaseTestUtil.getMiniHBaseCluster().getConfiguration())) { + ConnectionQueryServices rebuildQueryServices = rebuildIndexConnection.getQueryServices(); + public static final int DEFAULT_INDEX_REBUILD_RPC_RETRIES_COUNTER = 0; // no retries at rpc level {color:red}-1 core tests{color}. The patch failed these unit tests: ./phoenix-core/target/failsafe-reports/TEST-org.apache.phoenix.end2end.index.MutableIndexFailureIT Test results: https://builds.apache.org/job/PreCommit-PHOENIX-Build/1220//testReport/ Javadoc warnings: https://builds.apache.org/job/PreCommit-PHOENIX-Build/1220//artifact/patchprocess/patchJavadocWarnings.txt Console output: https://builds.apache.org/job/PreCommit-PHOENIX-Build/1220//console This message is automatically generated. > 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)