Github user vincentpoon commented on a diff in the pull request:
https://github.com/apache/phoenix/pull/290#discussion_r164202405
--- Diff:
phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataRegionObserver.java
---
@@ -379,6 +388,12 @@ public void run() {
} else if (indexState == PIndexState.PENDING_ACTIVE) {
IndexUtil.updateIndexState(conn,
indexTableFullName, PIndexState.ACTIVE, null);
continue; // Must wait until clients start to do
index maintenance again
+ } else if (indexState == PIndexState.PENDING_DISABLE) {
+ if (elapsedSinceDisable > pendingDisableThreshold)
{
+ // too long in PENDING_DISABLE - client didn't
disable the index, so we do it here
+ IndexUtil.updateIndexState(conn,
indexTableFullName, PIndexState.DISABLE, null);
--- End diff --
I think passing null leaves the indexDisableTimestamp untouched, but since
we have the timestamp I'll pass it in anyways to make it clearer.
---