Commit Graph

18696 Commits

Author SHA1 Message Date
Duo Zhang 76fbb8b965
HBASE-25818 Move StochasticLoadBalancer to hbase-balancer module (#3206)
Signed-off-by: Yi Mei <myimeiyi@gmail.com>
2021-05-25 23:24:35 +08:00
Duo Zhang 6a77872879
HBASE-25894 Improve the performance for region load and region count related cost functions (#3276)
Signed-off-by: Yi Mei <myimeiyi@gmail.com>
2021-05-25 18:04:06 +08:00
GeorryHuang 36affdaa8e
HBASE-25906 UI of master-status to show recent history of balancer desicion (#3296)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-25 11:08:48 +05:30
Baiqiang Zhao 21aa553bc1
HBASE-25745 Deprecate/Rename config `hbase.normalizer.min.region.count` to `hbase.normalizer.merge.min.region.count`
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2021-05-24 13:03:27 -07:00
Anoop Sam John f53ceeecb0
HBASE-25898 RS getting aborted due to NPE in Replication WALEntryStream (#3292)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Rushabh Shah <shahrs87@gmail.com>
2021-05-24 23:41:45 +05:30
Xiaolin Ha b02c8102b7
HBASE-25899 Improve efficiency of SnapshotHFileCleaner (#3280)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-24 22:15:47 +08:00
Duo Zhang f94f4e29fe
HBASE-25873 Refactor and cleanup the code for CostFunction (#3274)
Signed-off-by: Yi Mei <myimeiyi@gmail.com>
2021-05-24 18:14:55 +08:00
Mallikarjun fe70fced07
HBASE-25888 Backup tests are categorically flakey (#3279)
cleanup backup tests setup and teardown

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-24 09:35:40 +08:00
Xiaolin Ha 7f6b778c14
HBASE-25773 TestSnapshotScannerHDFSAclController.setupBeforeClass is flaky (#3160) 2021-05-22 21:56:17 +08:00
caoliqing edde01c605
HBASE-25892: 'False' should be 'True' in auditlog of listLabels (#3273)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-22 11:22:51 +08:00
sambong0113 b581b322a1
HBASE-25817 Memory leak from thrift server hashMap (#3257)
Use GuavaCache in thrift server hashmap

Signed-off-by: Michael Stack <stack@apache.org>
2021-05-22 09:55:15 +08:00
Andrew Purtell 8ec6fd9459
HBASE-25869 WAL value compression (#3244)
WAL storage can be expensive, especially if the cell values
represented in the edits are large, consisting of blobs or
significant lengths of text. Such WALs might need to be kept around
for a fairly long time to satisfy replication constraints on a space
limited (or space-contended) filesystem.

We have a custom dictionary compression scheme for cell metadata that
is engaged when WAL compression is enabled in site configuration.
This is fine for that application, where we can expect the universe
of values and their lengths in the custom dictionaries to be
constrained. For arbitrary cell values it is better to use one of the
available compression codecs, which are suitable for arbitrary albeit
compressible data.

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2021-05-21 11:05:52 -07:00
Rushabh Shah dfa88e1ffe
HBASE-25827 Per Cell TTL tags get duplicated with increments causing tags length overflow (#3210)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Aman Poonia <apoonia@salesforce.com>
2021-05-21 22:56:11 +05:30
Baiqiang Zhao a1177b3e91
HBASE-25682 Add a new command to update the configuration of all RSs in a RSGroup (#3080)
* HBASE-25682 Add a new command to update the configuration of all RSs in a RSGroup

Signed-off-by: Pankaj Kumar<pankajkumar@apache.org>
2021-05-21 22:49:25 +05:30
Sandeep Pal 15e861169f
HBASE-25848: Add flexibility to backup replication in case replication filter throws an exception (#3283)
* HBASE-25848: Add flexibility to backup replication in case replication filter throws an exception
2021-05-20 13:31:44 -07:00
Duo Zhang 7c24ed4f45
HBASE-25897 TestRetainAssignmentOnRestart is flaky after HBASE-25032 (#3281)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-05-20 20:58:53 +08:00
Nick Dimiduk fe47557f4c HBASE-25841 Add basic jshell support
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-19 11:37:10 -07:00
GeorryHuang 5b9940907e
HBASE-25791 UI of master-status to show a recent history of that why balancer was rejected to run (#3275)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-19 12:05:29 +08:00
Duo Zhang 741b4b4674
HBASE-25032 Do not assign regions to region server which has not called regionServerReport yet (#3268)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2021-05-18 08:08:03 +08:00
Pankaj 2126ec94f0
HBASE-25875 RegionServer failed to start with IllegalThreadStateException due to race condition in AuthenticationTokenSecretManager (#3250)
* HBASE-25875 RegionServer failed to start with IllegalThreadStateException due to race condition in AuthenticationTokenSecretManager's start & retrievePassword method

Signed-off-by: stack <stack@apache.com>
2021-05-17 12:17:24 +05:30
Duo Zhang 1c6994ad70
HBASE-25872 Add documentation for LoadBalancer about synchronization (#3267)
Signed-off-by: Xin Sun <ddupgs@gmail.com>
2021-05-17 10:17:24 +08:00
Duo Zhang 85d8ec7dae
HBASE-25883 The regionFinder and rackManager fields in BaseLoadBalancer should be volatile (#3262)
Signed-off-by: meiyi <myimeiyi@gmail.com>
2021-05-15 20:20:03 +08:00
Mallikarjun 8ae4d65aa5 HBASE-25870 Validate only direct ancestors instead of entire history for a particular backup
Co-authored-by: Mallikarjun <mallikvarjun@gmail.com>
Signed-off-by: stack <stack@apache.org>
2021-05-14 09:42:03 -07:00
Nick Dimiduk 4115c2ed8c Revert "while creating manifest, search only for ancestors insteadd of all of history (#3246)"
This reverts commit b65733c093.
2021-05-14 09:35:50 -07:00
Baiqiang Zhao d69d5c24b1
HBASE-25861 Correct the usage of Configuration#addDeprecation (#3249)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2021-05-14 09:31:06 -07:00
haxiaolin f6c3ecacdc Add haxiaolin to pom.xml 2021-05-14 22:57:26 +08:00
Viraj Jasani 0955a7a22e
HBASE-25884 Return empty records for disabled balancer in-memory queue (#3263)
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Aman Poonia <apoonia@salesforce.com>
2021-05-14 12:54:07 +05:30
Mallikarjun b65733c093
while creating manifest, search only for ancestors insteadd of all of history (#3246)
Co-authored-by: Mallikarjun <mallikvarjun@gmail.com>
2021-05-12 16:43:17 -07:00
Che Xun cdac8fdb7c
HBASE-25862 update reference guide for log4j2.xml (#3252) 2021-05-12 16:26:31 -07:00
Michael Stack 630c73fda4 HBASE-25867 Extra doc around ITBLL (#3242)
* HBASE-25867 Extra doc around ITBLL

Minor edits to a few log messages.
Explain how the '-c' option works when passed to ChaosMonkeyRunner.
Some added notes on ITBLL.
Fix whacky 'R' and 'Not r' thing in Master (shows when you run ITBLL).
In HRS, report hostname and port when it checks in (was debugging issue
where Master and HRS had different notions of its hostname).
Spare a dirty FNFException on startup if base dir not yet in place.

* Address Review by Sean

Signed-off-by: Sean Busbey <busbey@apache.org>
2021-05-11 19:26:57 +01:00
Duo Zhang 29bd3dd586
HBASE-25852 Move all the intialization work of LoadBalancer implementation to initialize method (#3248)
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-11 22:03:33 +08:00
Catalin Luca 2b6a91a1da
HBASE-25859 Reference class incorrectly parses the protobuf magic marker (#3236)
Co-authored-by: Catalin Luca <luca@adobe.com>
Signed-off-by: stack <stack@apache.org>
2021-05-10 12:45:23 -07:00
Rushabh Shah 8c2332d465
HBASE-25860 Add metric for successful wal roll requests. (#3238)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-08 12:58:29 +05:30
Duo Zhang c2a1d31270 HBASE-25774 Addendum fix compile error 2021-05-08 13:56:57 +08:00
Andrew Purtell 02b018cf1a HBASE-25774 ServerManager.getOnlineServer may miss some region servers when refreshing state in some procedure implementations
Revert "HBASE-25032 Wait for region server to become online before adding it to online servers in Master (#2769)"

This reverts commit 1e4639d2eb.

Conflicts:

	hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
2021-05-07 18:21:46 -07:00
niuyulin 6cfff27465
HBASE-25837 TestRollingRestart is flaky (#3220)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-07 18:58:45 +08:00
Andrew Purtell 6309c090b5
HBASE-25854 Remove redundant AM in-memory state changes in CatalogJanitor (#3234)
In CatalogJanitor we schedule GCRegionProcedure to clean up both
filesystem and in-memory state after a split, and
GCMultipleMergedRegionsProcedure to do the same for merges. Both of these
procedures clean up in-memory state, but CatalogJanitor also does this
redundantly just after scheduling the procedures. The cleanup should be
done in only one place. Presumably we are using the procedures to do it in
a principled way. Remove the redundancy in CatalogJanitor and fix any
follow on issues, like test failures.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-06 09:13:33 -07:00
Duo Zhang ba4cb91211
HBASE-25851 Make LoadBalancer not extend Configurable interface (#3233)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-06 16:11:46 +08:00
Andrew Purtell cc88cf0ecf
HBASE-25847 More DEBUG and TRACE level logging in CatalogJanitor and HbckChore (#3230)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2021-05-05 17:01:00 -07:00
Nick Dimiduk eb9b54304e HBASE-25843 move master http-related code into o.a.h.h.master.http
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-05 08:34:37 -07:00
Duo Zhang 90f986497b
HBASE-25834 Remove balanceTable method from LoadBalancer interface (#3217)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-05 15:48:01 +08:00
Nick Dimiduk 17193dae58 HBASE-25842 move regionserver http-related code into o.a.h.h.regionserver.http
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-04 15:40:17 -07:00
Andrew Purtell 432d141474
HBASE-25835 Ignore duplicate split requests from regionserver reports (#3218)
Processing of the RS report happens asynchronously from other activities
which can mutate region state. For example, a split procedure may already
be running. A split procedure cannot succeed if the parent region is no
longer open, so we can ignore it in that case.

Note that submitting more than one split procedure for a given region is
harmless -- the split is fenced in the procedure handling -- but it would
be noisy in the logs. Only one procedure can succeed. The other
procedure(s) would abort during initialization and report failure with
WARN level logging.

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Pankaj <pankajkumar@apache.org>
2021-05-04 10:05:29 -07:00
Andrew Purtell fda324b116
HBASE-25836 RegionStates#getAssignmentsForBalancer should only care about OPEN or OPENING regions (#3219)
RegionStates#getAssignmentsForBalancer is used by the HMaster to
collect all regions of interest to the balancer for the next chore
iteration. We check if a table is in disabled state to exclude
regions that will not be of interest (because disabled regions are
or will be offline) or are in a state where they shouldn't be
mutated (like SPLITTING). The current checks are not actually
comprehensive.

Filter out regions not in OPEN or OPENING state when building the
set of interesting regions for the balancer to consider. Only
regions open (or opening) on the cluster are of interest to
balancing calculations for the current iteration. Regions in all
other states can be expected to not be of interest – either offline
(OFFLINE, or FAILED_*), not subject to balancer decisions now
(SPLITTING, SPLITTING_NEW, MERGING, MERGING_NEW), or will be
offline shortly (CLOSING) – until at least the next chore
iteration.

Add TRACE level logging.

Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-03 18:23:07 -07:00
Andrew Purtell e44592a37d
HBASE-25840 CatalogJanitor warns about skipping gc of regions during RIT, but does not actually skip (#3223)
We claim in a WARN level log line to be "Playing-it-safe skipping merge/
split gc'ing of regions from hbase:meta while regions-in-transition (RIT)"
but do not actually skip because of a missing return. Remove the warning.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-03 18:14:38 -07:00
Duo Zhang 762abe3bea
HBASE-25838 Use double instead of Double in StochasticLoadBalancer (#3221)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-04 09:04:47 +08:00
Andrew Purtell 6ad5b9e569
HBASE-25824 IntegrationTestLoadCommonCrawl (#3208)
* HBASE-25824 IntegrationTestLoadCommonCrawl

This integration test loads successful resource retrieval records from
the Common Crawl (https://commoncrawl.org/) public dataset into an HBase
table and writes records that can be used to later verify the presence
and integrity of those records.

Run like:

  ./bin/hbase org.apache.hadoop.hbase.test.IntegrationTestLoadCommonCrawl \
    -Dfs.s3n.awsAccessKeyId=<AWS access key> \
    -Dfs.s3n.awsSecretAccessKey=<AWS secret key> \
    /path/to/test-CC-MAIN-2021-10-warc.paths.gz \
    /path/to/tmp/warc-loader-output

Access to the Common Crawl dataset in S3 is made available to anyone by
Amazon AWS, but Hadoop's S3N filesystem still requires valid access
credentials to initialize.

The input path can either specify a directory or a file. The file may
optionally be compressed with gzip. If a directory, the loader expects
the directory to contain one or more WARC files from the Common Crawl
dataset. If a file, the loader expects a list of Hadoop S3N URIs which
point to S3 locations for one or more WARC files from the Common Crawl
dataset, one URI per line. Lines should be terminated with the UNIX line
terminator.

Included in hbase-it/src/test/resources/CC-MAIN-2021-10-warc.paths.gz
is a list of all WARC files comprising the Q1 2021 crawl archive. There
are 64,000 WARC files in this data set, each containing ~1GB of gzipped
data. The WARC files contain several record types, such as metadata,
request, and response, but we only load the response record types. If
the HBase table schema does not specify compression (by default) there
is roughly a 10x expansion. Loading the full crawl archive results in a
table approximately 640 TB in size.

The hadoop-aws jar will be needed at runtime to instantiate the S3N
filesystem. Use the -files ToolRunner argument to add it.

You can also split the Loader and Verify stages:

Load with:

  ./bin/hbase 'org.apache.hadoop.hbase.test.IntegrationTestLoadCommonCrawl$Loader' \
    -files /path/to/hadoop-aws.jar \
    -Dfs.s3n.awsAccessKeyId=<AWS access key> \
    -Dfs.s3n.awsSecretAccessKey=<AWS secret key> \
    /path/to/test-CC-MAIN-2021-10-warc.paths.gz \
    /path/to/tmp/warc-loader-output

Verify with:

  ./bin/hbase 'org.apache.hadoop.hbase.test.IntegrationTestLoadCommonCrawl$Verify' \
    /path/to/tmp/warc-loader-output

Signed-off-by: Michael Stack <stack@apache.org>
2021-05-03 17:59:00 -07:00
Duo Zhang 7640134e3e
HBASE-25774 Added more detailed logs about the restarting of region servers (#3213)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-03 20:33:33 +08:00
GeorryHuang 00fec24c90
HBASE-25790 NamedQueue 'BalancerRejection' for recent history of balancer skipping (#3182)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2021-05-02 21:30:48 +05:30
Che Xun accfcebd45
HBASE-25833 fix HBase Configuration File Descriptions (#3216)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-05-02 21:02:51 +08:00