HBASE-5213 "hbase master stop" does not bring down backup masters (Gregory)


git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1298859 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5552 Clean up our jmx view; its a bit of a mess

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1298923 13f79535-47bb-0310-9956-ffa450edef68
[jira] [HBASE-4542] Add filter info to slow query logging

Author: Zhiqiu Kong

Summary:
The original 89-fb diff is: https://reviews.facebook.net/D1263

Slow opertaion log does not provide enough information when a filter is
present. The followings are done to add the filter info:

1) Added toString() method for filters inheriting FilterBase, this
affect 22 filters and their subclasses. The info added includes the
filter's name and its members. For example, for TimestampsFilter, we'll
output its class name as well as the defined timestamps.

2) Added a field 'filter' in Get::toMap() and Scan::toMap() to enable
the logging of filter info.

Task ID: #750975

Blame Rev:

Test Plan:
1. Run and passed unit-tests to make sure it does not break things

2. Run kannan's script to trigger the slow operation logging, checked
for each filter to make sure the filter info was logged. To be more
detailed, the output log are as following (only 'filter' filed is put
here for ease of reading):

"filter":"TimestampsFilter (3/3): [2, 3, 5]"
"filter":"TimestampsFilter (5/6): [2, 3, 5, 7, 11]"
"filter":"ColumnPrefixFilter col2"
"filter":"ColumnRangeFilter [col2a, col2b]"
"filter":"ColumnCountGetFilter 8"
"filter":"ColumnPaginationFilter (4, 4)"
"filter":"InclusiveStopFilter row"
"filter":"PrefixFilter row"
"filter":"PageFilter 1"
"filter":"SkipFilter TimestampsFilter (1/1): [1000]"
"filter":"WhileMatchFilter TimestampsFilter (3/3): [2, 3, 5]"
"filter":"KeyOnlyFilter"
"filter":"FirstKeyOnlyFilter"
"filter":"MultipleColumnPrefixFilter (3/3): [a, b, c]"
"filter":"DependentColumnFilter (family, qualifier, true, LESS, value)"
"filter":"FamilyFilter (LESS, value)"
"filter":"QualifierFilter (LESS, value)"
"filter":"RowFilter (LESS, value)"
"filter":"ValueFilter (LESS, value)"
"filter":"KeyOnlyFilter"
"filter":"FirstKeyOnlyFilter"
"filter":"SingleColumnValueFilter (family, qualifier, EQUAL, value)"
"filter":"SingleColumnValueExcludeFilter (family, qualifier, EQUAL,
value)"
"filter":"FilterList AND (2/2): [KeyOnlyFilter, FirstKeyOnlyFilter]"
Please check ~zhiqiu/Codes/scripts/testFilter.rb for the testing script.

3. Added unit test cases to TestOperation to verify the filters'
toString() method works well.

Reviewed By: mbautin

Reviewers: Kannan, madhuvaidya, mbautin, JIRA

CC: Kannan, madhuvaidya, mbautin, zhiqiu, stack

Differential Revision: https://reviews.facebook.net/D1539

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299019 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5555 add a pointer to a dns verification utility in hbase book/dns

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299073 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5538 A metric to measure the size of the response queue in the hbase rpc server

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299084 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5535 Make the functions in task monitor synchronized

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299088 13f79535-47bb-0310-9956-ffa450edef68
[jira] [HBASE-5292] Prevent counting getSize on compactions

Author: Zhiqiu Kong

Summary:
Added two separate metrics for both get() and next(). This is done by
refactoring on internal next() API. To be more specific, only Get.get()
and ResultScanner.next() passes the metric name ("getsize" and
"nextsize" repectively) to
  HRegion::RegionScanner::next(List<KeyValue>, String)

This will eventually hit StoreScanner()::next((List<KeyValue>,
int, String) where the metrics are counted.

And their call paths are:

1) Get

HTable::get(final Get get)
=> HRegionServer::get(byte [] regionName, Get get)
=> HRegion::get(final Get get, final Integer lockid)
=> HRegion::get(final Get get)      [pass METRIC_GETSIZE to the
callee]

=> HRegion::RegionScanner::next(List<KeyValue> outResults, String
metric)
=> HRegion::RegionScanner::next(List<KeyValue> outResults, int limit,
String metric)
=> HRegion::RegionScanner::nextInternal(int limit, String metric)
=> KeyValueHeap::next(List<KeyValue> result, int limit, String
metric)
=> StoreScanner::next(List<KeyValue> outResult, int limit, String
metric)

2) Next

HTable::ClientScanner::next()
=> ScannerCallable::call()
=> HRegionServer::next(long scannerId)
=> HRegionServer::next(final long scannerId, int nbRows)  [pass
METRIC_NEXTSIZE to the callee]

=> HRegion::RegionScanner::next(List<KeyValue> outResults, String
metric)
=> HRegion::RegionScanner::next(List<KeyValue> outResults, int limit,
String metric)
=> HRegion::RegionScanner::nextInternal(int limit, String metric)
=> KeyValueHeap::next(List<KeyValue> result, int limit, String
metric)
=> StoreScanner::next(List<KeyValue> outResult, int limit, String
metric)

Test Plan:
1. Passed unit tests.
2. Created a testcase TestRegionServerMetrics::testGetNextSize to
guarantee:
 * Get/Next contributes to getsize/nextsize metrics
 * Both getsize/nextsize are per Column Family
 * Flush/compaction won't affect these two metrics

Reviewed By: mbautin

Reviewers: Kannan, mbautin, Liyin, JIRA

CC: Kannan, mbautin, Liyin, zhiqiu

Differential Revision: https://reviews.facebook.net/D1617

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299147 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5562 test-patch.sh reports a javadoc warning when there are no new javadoc warnings

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299824 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5399 Cut the link between the client and the zookeeper ensemble

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299872 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5567 test-patch.sh has logic error in findbugs check

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299892 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5499 dev-support/test-patch.sh does not have execute perms

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299976 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5314 racefully rolling restart region servers in rolling-restart.sh

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1299983 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5179 Handle potential data loss due to concurrent processing of processFaileOver and ServerShutdownHandler

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1300194 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5574 DEFAULT_MAX_FILE_SIZE defaults to a negative value

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1300288 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5206 port HBASE-5155 to TRUNK (Ashutosh Jindal)


git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1300711 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5206 revert because of test failues in trunk build.


git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1300725 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5569  Do not collect deleted KVs when they are still in use by a scanner.

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1301135 13f79535-47bb-0310-9956-ffa450edef68
HBASE-4608 HLog Compression

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1301165 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5579 A Delete Version could mask other values (Daniel Ferro)


git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1301173 13f79535-47bb-0310-9956-ffa450edef68
HBASE-5568 Multi concurrent flushcache() for one region could cause data loss (Chunhui)


git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1301639 13f79535-47bb-0310-9956-ffa450edef68