You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Reid Chan (JIRA)" <ji...@apache.org> on 2017/09/22 09:21:01 UTC

[jira] [Updated] (HBASE-18837) HTableMultiplexer behavior during regions split

     [ https://issues.apache.org/jira/browse/HBASE-18837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Reid Chan updated HBASE-18837:
------------------------------
    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 :
{code:title=HTableMultiplexer}
try {
	succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, retryCount);
} finally {
	FlushWorker.this.getRetryInQueue().decrementAndGet();
	if (!succ) {
		FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
	}
}
{code}
With : 
{code}
try {
	succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, retryCount);
	if (!succ) {
		if (!resubmitFailedPut(ps, oldLoc)) {
			FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
		}
	}
} finally {
	FlushWorker.this.getRetryInQueue().decrementAndGet();
}
{code}

  was:
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();
}


> 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 :
> {code:title=HTableMultiplexer}
> try {
> 	succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, retryCount);
> } finally {
> 	FlushWorker.this.getRetryInQueue().decrementAndGet();
> 	if (!succ) {
> 		FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
> 	}
> }
> {code}
> With : 
> {code}
> try {
> 	succ = FlushWorker.this.getMultiplexer().put(tableName, failedPut, retryCount);
> 	if (!succ) {
> 		if (!resubmitFailedPut(ps, oldLoc)) {
> 			FlushWorker.this.getTotalFailedPutCount().incrementAndGet();
> 		}
> 	}
> } finally {
> 	FlushWorker.this.getRetryInQueue().decrementAndGet();
> }
> {code}



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