phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From JamesRTaylor <...@git.apache.org>
Subject [GitHub] phoenix pull request #290: PHOENIX-4130 Avoid server retries for mutable ind...
Date Fri, 26 Jan 2018 18:23:30 GMT
Github user JamesRTaylor commented on a diff in the pull request:

    https://github.com/apache/phoenix/pull/290#discussion_r164181998
  
    --- Diff: phoenix-core/src/main/java/org/apache/phoenix/optimize/QueryOptimizer.java ---
    @@ -312,6 +317,16 @@ private static QueryPlan addPlan(PhoenixStatement statement, SelectStatement
sel
             return null;
         }
     
    +    // returns true if we can still use the index
    +    // retuns false if we've been in PENDING_DISABLE too long - index should be considered
disabled
    +    private static boolean isUnderPendingDisableThreshold(PhoenixStatement statement,
PTable indexTable) {
    +        return EnvironmentEdgeManager
    +                .currentTimeMillis() - indexTable.getIndexDisableTimestamp() <= statement
    --- End diff --
    
    Since this is running client-side, the EnvironmentEdgeManager.currentTimeMillis() would
be a client timestamp and the indexDisableTimestamp is a server-side timestamp so you can't
reliably compare them directly. Instead, keep a bit more state client-side by storing the
timestamp at which the index write failure occurred in the index TableRef (which isn't shared
across multiple threads/connections). Then you can compare that timestamp here with the current
time. 


---

Mime
View raw message