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

    https://github.com/apache/phoenix/pull/290#discussion_r164226421
  
    --- Diff: 
phoenix-core/src/main/java/org/apache/phoenix/hbase/index/write/IndexWriterUtils.java
 ---
    @@ -70,13 +70,13 @@
        public static final String HTABLE_KEEP_ALIVE_KEY = 
"hbase.htable.threads.keepalivetime";
     
        public static final String INDEX_WRITER_RPC_RETRIES_NUMBER = 
"phoenix.index.writes.rpc.retries.number";
    -   /**
    -    * Based on the logic in HBase's AsyncProcess, a default of 11 retries 
with a pause of 100ms
    -    * approximates 48 sec total retry time (factoring in backoffs).  The 
total time should be less
    -    * than HBase's rpc timeout (default of 60 sec) or else the client will 
retry before receiving
    -    * the response
    -    */
    -   public static final int DEFAULT_INDEX_WRITER_RPC_RETRIES_NUMBER = 11;
    +    /**
    +     * Retry server-server index write rpc only once, and let the client 
retry the data write
    +     * instead to avoid typing up the handler
    +     */
    +   // note in HBase 2+, numTries = numRetries + 1
    +   // in prior versions, numTries = numRetries
    +   public static final int DEFAULT_INDEX_WRITER_RPC_RETRIES_NUMBER = 1;
    --- End diff --
    
    I don't think we need any code change if we're relying on the operator.  As 
it is, we check the config INDEX_WRITER_RPC_RETRIES_NUMBER, and only if it's 
not there, we use the DEFAULT_INDEX_WRITER_RPC_RETRIES_NUMBER, which is now 1.  
So we assume the operator will have the property set to 11 until all clients 
are upgraded, at which point the remove the property and it uses the default of 
1.


---

Reply via email to