[
https://issues.apache.org/jira/browse/PHOENIX-3947?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16078400#comment-16078400
]
James Taylor commented on PHOENIX-3947:
---------------------------------------
Thanks for the patch, [~samarthjain]. Here's some feedback:
- These lines should not have been removed (as otherwise we'd ignore the
potential override of these settings):
{code}
- enableRebuildIndex =
env.getConfiguration().getBoolean(QueryServices.INDEX_FAILURE_HANDLING_REBUILD_ATTRIB,
- QueryServicesOptions.DEFAULT_INDEX_FAILURE_HANDLING_REBUILD);
- rebuildIndexTimeInterval =
env.getConfiguration().getLong(QueryServices.INDEX_FAILURE_HANDLING_REBUILD_INTERVAL_ATTRIB,
-
QueryServicesOptions.DEFAULT_INDEX_FAILURE_HANDLING_REBUILD_INTERVAL);
-
{code}
- Add a lower level unit test to PropertiesUtilTest for
PropertiesUtil.extractProperties()
- IMHO, it's somewhat dangerous/unexpected that
PropertiesUtil.extractProperties() modifies {{props}} in-place. I think it'd be
better if it made a new Properties instance by using
PropertiesUtil.deepCopy(props) and returns the new properties. Make sure all
occurrences assign the return value (most do, but your particular usage
doesn't).
- Upon failure of an index to rebuild, we should disable the index and clear
the INDEX_DISABLE_TIMESTAMP to prevent further retries. You can use
IndexUtil.setIndexDisableTimeStamp() for this using 0 for the minTimeStamp and
PIndexState.DISABLE as the newState.
> Increase scan time out for partial index rebuild and retry only once
> --------------------------------------------------------------------
>
> Key: PHOENIX-3947
> URL: https://issues.apache.org/jira/browse/PHOENIX-3947
> Project: Phoenix
> Issue Type: Bug
> Reporter: James Taylor
> Assignee: Samarth Jain
> Labels: globalMutableSecondaryIndex
> Attachments: PHOENIX-3947.patch, PHOENIX-3947_v2.patch
>
>
> The scan done from MetaDataRegionObserver needs to have a higher timeout so
> that it can always complete successfully. The retries should be limited to
> one too. Upon failure, we should disable the index and set the
> INDEX_DISABLE_TIMESTAMP to zero to prevent further attempts to rebuild the
> index (as a failure would be an indication that something is awry and manual
> intervention should be required to rebuild the index completely).
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)