Details
-
Improvement
-
Status: Patch Available
-
Minor
-
Resolution: Unresolved
-
1.1.2
-
None
-
None
Description
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 :
HTableMultiplexer
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(); }