Github user JamesRTaylor commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/290#discussion_r164180172
  
    --- 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 --
    
    This will put the index into a permanently disabled state requiring manual 
intervention. I think we should not pass in null for the indexDisableTimestamp 
here, but pass in the current value instead. That'll cause the index to be 
partially rebuilt (as long as it's not older that the threshold to permanently 
disable it).


---

Reply via email to