From c72a9d28d89d8a86fd5d5a43c276fa1bd2090e13 Mon Sep 17 00:00:00 2001 From: Phil Yang Date: Wed, 27 Jul 2016 19:50:11 +0800 Subject: [PATCH] HBASE-16291 Explain the correct semantic of hbase.client.retries.number in doc --- hbase-common/src/main/resources/hbase-default.xml | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/hbase-common/src/main/resources/hbase-default.xml b/hbase-common/src/main/resources/hbase-default.xml index 116c7d9..3b6a78d 100644 --- a/hbase-common/src/main/resources/hbase-default.xml +++ b/hbase-common/src/main/resources/hbase-default.xml @@ -477,12 +477,21 @@ possible configurations would overwhelm and obscure the important. hbase.client.retries.number 35 - Maximum retries. Used as maximum for all retryable - operations such as the getting of a cell's value, starting a row update, - etc. Retry interval is a rough function based on hbase.client.pause. At - first we retry at this interval but then with backoff, we pretty quickly reach - retrying every ten seconds. See HConstants#RETRY_BACKOFF for how the backup - ramps up. Change this setting and hbase.client.pause to suit your workload. + + Used for all retryable operations such as the getting of a cell's value, starting + a row update, etc. The client will retry in retryable operations if the rpc request is failed + because of timeout or other exceptions. Retry interval is a rough function based on + hbase.client.pause. At first we retry at this interval but then with backoff, we pretty + quickly reach retrying every ten seconds. See HConstants#RETRY_BACKOFF for how the backup + ramps up. Change this setting and hbase.client.pause to suit your workload. Note that in + different versions of HBase, the semantic of this setting is not same. In 0.9x and 1.x, this + setting is "the number of TRIES", which means if you set it to 0, all your operations will + fail. But from 2.0, this setting is "the number of RETRIES" which is same as what the name + says, if you set it to 1, the client will at most send two requests for each operation. After + all reties failing, the client will throw RetriesExhaustedException. If the total time from + the start of first try reaches hbase.client.operation.timeout, the retrying logic will be + terminated and throw SocketTimeoutException. + hbase.client.max.total.tasks -- 2.7.4 (Apple Git-66)