chausson created HBASE-18837:
--------------------------------

             Summary: HTableMultiplexer behavior during regions split
                 Key: HBASE-18837
                 URL: https://issues.apache.org/jira/browse/HBASE-18837
             Project: HBase
          Issue Type: Improvement
          Components: Client
    Affects Versions: 1.1.2
            Reporter: chausson
            Priority: Minor


HTableMultiplexer class mentions following in the javadoc : "If any queue is 
full, the HTableMultiplexer starts to drop the Put requests for that particular 
queue."

This could be improved by replacing following code in 
HTableMultiplexer.resubmitFailedPut() method :

try {
        succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, 
retryCount);
} finally {
        FlushWorker.this.getRetryInQueue().decrementAndGet();
        if (!succ) {
                FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
        }
}

With : 
try {
        succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, 
retryCount);
        if (!succ) {
                if (!resubmitFailedPut(ps, oldLoc)) {
                        
FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
                }
        }
} finally {
        FlushWorker.this.getRetryInQueue().decrementAndGet();
}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to