HBASE-17089 Add doc on experience running with hedged reads

This commit is contained in:
Michael Stack 2016-11-14 10:27:58 -08:00
parent c3685760f0
commit 6ee2dcf480
2 changed files with 14 additions and 3 deletions

View File

@ -156,6 +156,10 @@ See <<block.cache>>
See <<recommended_configurations>>.
[[perf.99th.percentile]]
=== Improving the 99th Percentile
Try link:[hedged_reads].
[[perf.compactions.and.splits]]
=== Managing Compactions
@ -751,9 +755,10 @@ Most people should leave this alone.
Default = 7, or can collapse to at least 1/128th of original size.
See the _Development Process_ section of the document link:https://issues.apache.org/jira/secure/attachment/12444007/Bloom_Filters_in_HBase.pdf[BloomFilters in HBase] for more on what this option means.
[[hedged.reads]]
=== Hedged Reads
Hedged reads are a feature of HDFS, introduced in link:https://issues.apache.org/jira/browse/HDFS-5776[HDFS-5776].
Hedged reads are a feature of HDFS, introduced in Hadoop 2.4.0 with link:https://issues.apache.org/jira/browse/HDFS-5776[HDFS-5776].
Normally, a single thread is spawned for each read request.
However, if hedged reads are enabled, the client waits some configurable amount of time, and if the read does not return, the client spawns a second read request, against a different block replica of the same data.
Whichever read returns first is used, and the other read request is discarded.
@ -790,6 +795,11 @@ See <<hbase_metrics>> for more information.
* hedgeReadOpsWin - the number of times the hedged read thread was faster than the original thread.
This could indicate that a given RegionServer is having trouble servicing requests.
Concerns while running with hedged reads enabled include:
* They may lead to network congestion. See link:https://issues.apache.org/jira/browse/HBASE-17083[HBASE-17083]
* Make sure you set the thread pool large enough so as blocking on the pool does not become a bottleneck (Again see link:https://issues.apache.org/jira/browse/HBASE-17083[HBASE-17083])
[[perf.deleting]]
== Deleting from HBase

View File

@ -27,6 +27,8 @@
:icons: font
:experimental:
== Protobuf
HBase uses Google's link:http://protobuf.protobufs[protobufs] wherever
it persists metadata -- in the tail of hfiles or Cells written by
HBase into the system hbase;meta table or when HBase writes znodes
@ -36,12 +38,11 @@ Interfaces (Services) we expose to clients, for example the `Admin` and `Client`
Interfaces that the RegionServer fields,
or specifying the arbitrary extensions added by developers via our
xref:cp[Coprocessor Endpoint] mechanism.
In this chapter we go into detail for developers who are looking to
understand better how it all works. This chapter is of particular
use to those who would amend or extend HBase functionality.
== Protobuf
With protobuf, you describe serializations and services in a `.protos` file.
You then feed these descriptors to a protobuf tool, the `protoc` binary,
to generate classes that can marshall and unmarshall the described serializations