Commit Graph

60 Commits

Author SHA1 Message Date
Xiaolin Ha ad70ac2cd1
HBASE-26872 Load rate calculator for cost functions should be more precise (#4253)
Signed-off-by: Bryan Beaudreault <bbeaudreault@hubspot.com>
Signed-off-by: Viraj Jasani<virajjasani@apache.org>
2022-03-27 11:12:00 +08:00
Andrew Purtell 10471944bd
HBASE-26582 Prune use of Random and SecureRandom objects (#4118)
Avoid the pattern where a Random object is allocated, used once or twice, and
then left for GC. This pattern triggers warnings from some static analysis tools
because this pattern leads to poor effective randomness. In a few cases we were
legitimately suffering from this issue; in others a change is still good to
reduce noise in analysis results.

Use ThreadLocalRandom where there is no requirement to set the seed to gain
good reuse.

Where useful relax use of SecureRandom to simply Random or ThreadLocalRandom,
which are unlikely to block if the system entropy pool is low, if we don't need
crypographically strong randomness for the use case. The exception to this is
normalization of use of Bytes#random to fill byte arrays with randomness.
Because Bytes#random may be used to generate key material it must be backed by
SecureRandom.

Signed-off-by: Duo Zhang <zhangduo@apache.org>
2022-03-08 13:49:02 -08:00
Duo Zhang 19ad3d6654 HBASE-26805 Addendum forward port the test improvements in HBASE-26304 for branch-2 2022-03-07 08:16:21 +08:00
Duo Zhang 480db06e46
HBASE-26805 TestRegionHDFSBlockLocationFinder is flaky (#4169)
Signed-off-by: GeorryHuang <huangzhuoyue@apache.org>
2022-03-07 08:08:04 +08:00
Duo Zhang 443bf30a5d
HBASE-26643 LoadBalancer should not return empty map (#4005)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2022-01-07 23:50:37 +08:00
Duo Zhang 3f59f21be0
HBASE-26621 Set version as 3.0.0-alpha-3-SNAPSHOT in master (#3978)
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2021-12-24 14:20:32 +08:00
Duo Zhang 8bca21b47d
HBASE-26558 Set version as 3.0.0-alpha-2 in master in prep for first RC of 3.0.0-alpha-2 (#3935)
Signed-off-by: Geoffrey Jacoby <gjacoby@apache.org>
2021-12-11 20:52:35 +08:00
Bryan Beaudreault 1b27124c61
HBASE-26304 Reflect out of band locality improvements in metrics and balancer (#3803)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-27 12:01:46 +08:00
Duo Zhang 33287ac502
HBASE-26455 TestStochasticLoadBalancerRegionReplicaWithRacks fails consistently (#3879)
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
Signed-off-by: GeorryHuang <huangzhuoyue@apache.org>
2021-11-25 21:40:46 +08:00
Andrew Purtell 69a4eda35f
HBASE-26443 Some BaseLoadBalancer log lines should be at DEBUG level (#3838)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Xiaolin Ha <haxiaolin@apache.org>
2021-11-15 16:05:27 -08:00
clarax 62cd2b688e
HBASE-26337 Optimization for weighted random generators (#3732)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-09 08:17:21 +08:00
clarax cd7a5099d4
HBASE-26311 Balancer gets stuck in cohosted replica distribution (#3724)
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2021-11-03 11:57:37 -07:00
clarax 72a88468a8
HBASE-26309 Balancer tends to move regions to the server at the end of list (#3723)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-11-02 21:56:38 +08:00
clarax 7af5277859
HBASE-26327 Replicas cohosted on a rack shouldn't keep triggering Bal… (#3729)
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2021-10-25 11:29:31 -07:00
clarax 0d4982404c
HBASE-26308 Sum of multiplier of cost functions is not populated properly when we have a shortcut for trigger (#3710)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2021-10-21 11:19:21 -07:00
GeorryHuang 63306942b1
HBASE-26251 StochasticLoadBalancer metrics should update even if balancer doesn't run (#3678)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Reviewed-by: Bryan Beaudreault <bbeaudreault@hubspot.com>
2021-09-28 21:20:48 +08:00
clarax cbebf85b3c
HBASE-26297 Balancer run is improperly triggered by accuracy error of double comparison (#3698)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-09-26 15:10:44 +08:00
clarax 2b26dfbaf4
HBASE-26178 Improve data structure and algorithm for BalanceClusterState to improve computation speed for large cluster (#3682)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2021-09-25 20:02:28 +08:00
clarax afbdd4115b
HBASE-26237 Improve computation complexity for primaryRegionCountSkewCostFunction (#3657)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2021-09-03 18:36:55 -07:00
Duo Zhang 16721239e7
HBASE-26100 Set version as 3.0.0-alpha-2-SNAPSHOT in master (#3508)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-07-20 23:04:08 +08:00
Duo Zhang d30cc27097
HBASE-26081 Copy HBTU to hbase-testing-util, rename the HBTU related classes in hbase-server and mark them as IA.LimitedPrivate (#3478)
Signed-off-by: Michael Stack <stack@apache.org>
2021-07-19 09:29:08 +08:00
clarax 68aaf1ff02
HBASE-25739 TableSkewCostFunction need to use aggregated deviation (#3415)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: stack <stack@duboce.net>
Reviewed-by: Nick Dimiduk <ndimiduk@apache.org>
2021-07-13 08:24:11 -07:00
clarax 1e763d521f
HBASE-25973 Balancer should explain progress in a better way in log (#3356)
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
2021-07-12 10:10:24 -07:00
Duo Zhang 5118321ec9
HBASE-26059 Set version as 3.0.0-alpha-1 in master in prep for first RC of 3.0.0-alpha-1 (#3453)
Signed-off-by: Pankaj Kumar <pankajkumar@apache.org>
2021-07-02 07:50:41 +08:00
Duo Zhang 480b6bb637
HBASE-25995 Change the method name for DoubleArrayCost.setCosts (#3381)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-06-15 11:53:00 +08:00
Andrew Purtell 335305e0cf
HBASE-25911 Replace calls to System.currentTimeMillis with EnvironmentEdgeManager.currentTime (#3302)
We introduced EnvironmentEdgeManager as a way to inject alternate clocks
for unit tests. In order for this to be effective, all callers that would
otherwise use System.currentTimeMillis() must call
EnvironmentEdgeManager.currentTime() instead, except the implementers of
EnvironmentEdge.

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-06-01 09:57:48 -07:00
Duo Zhang 06c6e06803
HBASE-25916 Move FavoredNodeLoadBalancer to hbase-balancer module (#3327)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-31 22:55:04 +08:00
Duo Zhang f2ff816532
HBASE-25939 Move more tests code for StochasticLoadBalancer to hbase-balancer module (#3331)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-30 22:00:18 +08:00
Duo Zhang 7218c83f81
HBASE-25931 Move FavoredNodeManager to hbase-balancer module (#3324)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2021-05-28 15:57:59 +08:00
Duo Zhang ed8df5eded
HBASE-25758 Move MetaTableAccessor out of hbase-balancer module (#3309)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-28 09:19:07 +08:00
Duo Zhang 63141bf576
HBASE-25926 Cleanup MetaTableAccessor references in FavoredNodeBalancer related code (#3313)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-05-27 16:05:14 +08:00
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 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
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
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
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
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
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
Duo Zhang a4d954e606
HBASE-25757 Move BaseLoadBalancer to hbase-balancer module (#3191)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-04-26 12:03:25 +08:00
Duo Zhang d5c5e48839
HBASE-25793 Move BaseLoadBalancer.Cluster to a separated file (#3185)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-04-22 09:59:49 +08:00
Duo Zhang f9e928e5a7
HBASE-25184 Move RegionLocationFinder to hbase-balancer (#2543)
Signed-off-by: Yulin Niu <niuyulin@apache.org>
2021-04-10 21:10:53 +08:00
Duo Zhang ba3610d097
HBASE-19577 Use log4j2 instead of log4j for logging (#1708)
Signed-off-by: stack <stack@apache.org>
2021-03-20 09:21:25 +08:00
Viraj Jasani a3913a39c3
HBASE-25211 : Rack awareness in RegionMover (#2795)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2021-01-12 15:31:26 -08:00
Andrew Purtell 1726160839
HBASE-24640 Purge use of VisibleForTesting (#2695)
Signed-off-by: Reid Chan <reidchan@apache.org>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2020-11-25 14:10:12 -08:00
Duo Zhang 9ba90e1679
HBASE-25121 Refactor MetaTableAccessor.addRegionsToMeta and its usage places (#2476)
Signed-off-by: stack <stack@apache.org>
2020-10-05 21:29:55 +08:00
SteNicholas 5e5166dc40
HBASE-25120 Remove the deprecated annotation for MetaTableAccessor.getScanForTableName (#2493)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-10-02 21:27:01 +08:00
niuyulin dcba4930d4
HBASE-25016 addendum: should also close the Table which is returned by calling getMetaHTable
Closes #2393

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-09-14 12:26:27 +05:30
niuyulin a393fc594c
HBASE-25016 Should close ResultScanner in MetaTableAccessor.scanByRegionEncodedName
Closes #2390

Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-09-13 17:40:35 +05:30
Duo Zhang 0511089066
HBASE-25000 Move delete region info related methods to RegionStateStore (#2366)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2020-09-09 23:11:28 +08:00