Commit Graph

156 Commits

Author SHA1 Message Date
Michael Stack 8fc90a23ae
HBASE-21213 [hbck2] bypass leaves behind state in RegionStates when assign/unassign
Adds override to assigns and unassigns. Changes bypass 'force'
to align calling the param 'override' instead.

Adds recursive to 'bypass', a means of calling bypass on
parent and its subprocedures (usually bypass works on
leaf nodes rippling the bypass up to parent -- recursive
has us work in the opposite direction): EXPERIMENTAL.

bypass on an assign/unassign leaves region in RIT and the
RegionStateNode loaded with the bypassed procedure. First
implementation had assign/unassign cleanup leftover state.
Second implementation, on feedback, keeps the state in place
as a fence against other Procedures assuming the region entity,
and instead adds an 'override' function that hbck2 can set on
assigns/unassigns to override the fencing.

Note that the below also converts ProcedureExceptions that
come out of the Pv2 system into DoNotRetryIOEs. It is a
little awkward because DNRIOE is in client-module, not
in procedure module. Previous, we'd just keep retrying
the bypass, etc.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
 Have bypass take an environment like all other methods so subclasses.
 Fix javadoc issues.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
 Javadoc issues. Pass environment when we invoke bypass.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
 Rename waitUntilNamespace... etc. to align with how these method types
 are named elsehwere .. i.e. waitFor rather than waitUntil..

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Cleanup message we emit when we find an exisitng procedure working
 against this entity.
 Add support for a force function which allows Assigns/Unassigns force
 ownership of the Region entity.

A hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionBypass.java
 Test bypass and force.

M hbase-shell/src/main/ruby/shell/commands/list_procedures.rb
 Minor cleanup of the json output... do iso8601 timestamps.
2018-10-04 16:37:37 -07:00
Andrew Purtell f9d7ac2d5e
HBASE-21261 Add log4j.properties for hbase-rsgroup tests 2018-10-01 18:09:00 -07:00
Michael Stack 259d12f739 Revert "Revert "Revert "HBASE-21213 [hbck2] bypass leaves behind state in RegionStates when assign/unassign"""
This reverts commit 2174461cf7.

Revert because not ready to port to other branches.
2018-09-29 04:06:46 -07:00
Michael Stack 2174461cf7 Revert "Revert "HBASE-21213 [hbck2] bypass leaves behind state in RegionStates when assign/unassign""
This reverts commit b96905d1df.

i.e. a revert of a revert so a reapplication!

Revert so I can add signed-off-by....

Signed-off-by: Allan Yang <allan163@apache.org>
2018-09-29 03:34:36 -07:00
Michael Stack b96905d1df Revert "HBASE-21213 [hbck2] bypass leaves behind state in RegionStates when assign/unassign"
This reverts commit b42d7978cb.
2018-09-29 03:34:10 -07:00
Michael Stack b42d7978cb HBASE-21213 [hbck2] bypass leaves behind state in RegionStates when assign/unassign
bypass on an assign/unassign leaves region in RIT and the
RegionStateNode loaded with the bypassed procedure. First
implementation had assign/unassign cleanup leftover state.
Second implementation, on feedback, keeps the state in place
as a fence against other Procedures assuming the region entity,
and instead adds an 'override' function that hbck2 can set on
assigns/unassigns to override the fencing.

Note that the below also converts ProcedureExceptions that
come out of the Pv2 system into DoNotRetryIOEs. It is a
little awkward because DNRIOE is in client-module, not
in procedure module. Previous, we'd just keep retrying
the bypass, etc.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
 Have bypass take an environment like all other methods so subclasses.
 Fix javadoc issues.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
 Javadoc issues. Pass environment when we invoke bypass.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
 Rename waitUntilNamespace... etc. to align with how these method types
 are named elsehwere .. i.e. waitFor rather than waitUntil..

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Cleanup message we emit when we find an exisitng procedure working
 against this entity.
 Add support for a force function which allows Assigns/Unassigns force
 ownership of the Region entity.

A hbase-server/src/test/java/org/apache/hadoop/hbase/master/assignment/TestRegionBypass.java
 Test bypass and force.

M hbase-shell/src/main/ruby/shell/commands/list_procedures.rb
 Minor cleanup of the json output... do iso8601 timestamps.
2018-09-29 03:33:07 -07:00
Kiran Kumar Maturi b7c2b953bc
HBASE-20857 balancer status tag in jmx metrics
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-09-28 16:12:11 -07:00
zhangduo 1777ea3aae HBASE-20938 Set version to 2.1.1-SNAPSHOT for branch-2.1 2018-07-25 21:45:09 +08:00
zhangduo a2db3d27ff HBASE-20849 Set version as 2.1.0 in branch-2.1 in prep for first RC 2018-07-06 15:32:23 +08:00
Sean Busbey ee84a8f243 HBASE-20332 shaded mapreduce module shouldn't include hadoop
* modify the jar checking script to take args; make hadoop stuff optional
* separate out checking the artifacts that have hadoop vs those that don't.
* * Unfortunately means we need two modules for checking things
* * put in a safety check that the support script for checking jar contents is maintained in both modules
* * have to carve out an exception for o.a.hadoop.metrics2. :(
* fix duplicated class warning
* clean up dependencies in hbase-server and some modules that depend on it.
* allow Hadoop to have its own htrace where it needs it
* add a precommit check to make sure we're not using old htrace imports

 Conflicts:
	hbase-backup/pom.xml
	hbase-checkstyle/src/main/resources/hbase/checkstyle-suppressions.xml

Signed-off-by: Mike Drob <mdrob@apache.org>
2018-06-18 14:02:48 -07:00
Nihal Jain 3673e54a40 HBASE-20677 Backport test of HBASE-20566 'Creating a system table after enabling rsgroup feature puts region into RIT' to branch-2
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-06-04 13:24:51 -07:00
maoling 4c95b82b61 HBASE-19761:Fix Checkstyle errors in hbase-zookeeper
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
2018-06-02 10:17:27 +02:00
tedyu 856a3ac154 HBASE-20639 Implement permission checking through AccessController instead of RSGroupAdminEndpoint - revert due to pending discussion 2018-05-29 19:58:32 -07:00
Nihal Jain bc72fcd8c5 HBASE-20639 Implement permission checking through AccessController instead of RSGroupAdminEndpoint
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-05-27 18:43:08 -07:00
Thiruvel Thirumoolan d1cbd561df HBASE-20548 Master fails to startup on large clusters, refreshing block distribution
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-05-24 15:47:22 -07:00
tedyu 12d75724d7 HBASE-20627 Relocate RS Group pre/post hooks from RSGroupAdminServer to RSGroupAdminEndpoint 2018-05-23 15:57:00 -07:00
Andrew Purtell ba803167b3 HBASE-20595 Remove the concept of 'special tables' from rsgroups 2018-05-23 11:57:16 -07:00
Sean Busbey 4baac1a782 HBASE-20544 ADDENDUM Make HBTU default to random ports.
Signed-off-by: Mike Drob <mdrob@apache.org>
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
2018-05-14 12:52:30 -05:00
Sean Busbey 61f96b6ffa HBASE-20544 Make HBTU default to random ports.
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Josh Elser <elserj@apache.org>

 Conflicts:
	hbase-backup/src/test/resources/hbase-site.xml
	hbase-spark-it/src/test/resources/hbase-site.xml
	hbase-spark/src/test/resources/hbase-site.xml
2018-05-09 23:45:39 -07:00
Yechao Chen 75a8e53ce8 HBASE-20500 [rsgroup] should keep at least one server in default group
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-05-08 08:35:17 -07:00
Balazs Meszaros e93cfb52d0 HBASE-20465 Fix TestEnableRSGroup flaky 2018-04-22 15:39:18 -07:00
lujie 1cb05a18bc HBASE-20419 Fix potential NPE in ZKUtil#listChildrenAndWatchForNewChildren callers
Signed-off-by: Yu Li <liyu@apache.org>
2018-04-16 16:07:59 +08:00
tedyu 8df45d33cd HBASE-20224 Web UI is broken in standalone mode - addendum for hbase-endpoint and hbase-rsgroup modules 2018-04-03 08:34:17 -07:00
Chia-Ping Tsai dd9e46bbf5 HBASE-20212 Make all Public classes have InterfaceAudience category
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-22 18:09:54 +08:00
Xiang LI 03e7b78260 HBASE-20186 Improve RSGroupBasedLoadBalancer#balanceCluster() to be more efficient when calculating cluster state for each rsgroup
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-16 18:01:01 -07:00
Chia-Ping Tsai 95596e8ba7 HBASE-20119 Introduce a pojo class to carry coprocessor information in order to make TableDescriptorBuilder accept multiple cp at once
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: Michael Stack <stack@apache.org>
2018-03-16 01:26:08 +08:00
Sean Busbey 71cc7869db HBASE-20155 update branch-2 version to 2.1.0-SNAPSHOT
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2018-03-08 08:44:30 -08:00
Sean Busbey 9927c2e14a HBASE-20070 refactor website generation
* rely on git plumbing commands when checking if we've built the site for a particular commit already
* switch to forcing '-e' for bash
* add command line switches for: path to hbase, working directory, and publishing
* only export JAVA/MAVEN HOME if they aren't already set.
* add some docs about assumptions
* Update javadoc plugin to consistently be version 3.0.0
* avoid duplicative site invocations on reactor modules
* update use of cp command so it works both on linux and mac
* manually skip enforcer plugin during build
* still doing install of all jars due to MJAVADOC-490, but then skip rebuilding during aggregate reports.
* avoid the pager on git-diff by teeing to a log file, which also helps later reviewing in the case of big changesets.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Misty Stanley-Jones <misty@apache.org>

 Conflicts:
	hbase-backup/pom.xml
	hbase-spark-it/pom.xml
2018-03-02 09:51:43 -06:00
Michael Stack a2de29560f HBASE-20113 Move branch-2 version from 2.0.0-beta-2-SNAPSHOT to 2.0.0-beta-2 2018-03-01 15:46:38 -08:00
haxiaolin a08ade9f1a HBASE-20104 Fix infinite loop of RIT when creating table on a rsgroup that has no online servers
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-03-01 08:34:58 -08:00
Chia-Ping Tsai c459282fe0 HBASE-20093 Replace ServerLoad by ServerMetrics for ServerManager
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-28 15:05:52 +08:00
haxiaolin 0bf33c802d HBASE-19974 Fix decommissioned servers cannot be removed by remove_servers_rsgroup methods
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-26 07:31:58 -08:00
Apekshit Sharma 161f9de8e5 HBASE-19400 Add missing security checks in MasterRpcServices
- Added ADMIN permission check for following rpc calls:
  normalize, setNormalizerRunning, runCatalogScan, enableCatalogJanitor, runCleanerChore,
  setCleanerChoreRunning, execMasterService, execProcedure, execProcedureWithRet
- Moved authorizationEnabled check to start of AccessChecker's functions. Currently, and IDK why,
  we call authManager.authorize() first and then discard its result if authorizationEnabled is false. Weird.
2018-02-22 16:23:43 -08:00
haxiaolin 285653de3c HBASE-19937 Ensure createRSGroupTable be called after ProcedureExecutor and LoadBalancer are initialized
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-08 22:42:23 -08:00
tedyu 26ccbc49be HBASE-19949 TestRSGroupsWithACL fails with ExceptionInInitializerError 2018-02-07 04:46:09 -08:00
Xiang Li c2e3d52080 HBASE-19917 Improve RSGroupBasedLoadBalancer#filterServers() to be more efficient
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-02-04 17:23:06 -08:00
Michael Stack 90a75fb052 HBASE-19888 Move branch-2 version from 2.0.0-beta-1 to 2.0.0-beta-2-SNAPSHOT 2018-01-29 14:17:54 -08:00
Duo Zhang bbf3bae72a
HBASE-19873 Add a CategoryBasedTimeout ClassRule for all UTs 2018-01-29 12:41:14 -08:00
Peter Somogyi f5779855c6 HBASE-19845 Fix findbugs and error-prone warnings in hbase-rsgroup (branch-2)
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-24 08:41:43 -08:00
Guangxu Cheng c01dc69123 HBASE-19799 Add web UI to rsgroup
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-18 19:30:06 -08:00
tedyu 5aa802e2c9 HBASE-19757 System table gets stuck after enabling region server group feature in secure cluster - addendum removes unused import 2018-01-18 18:14:53 -08:00
tedyu 8ad56249a8 HBASE-19757 System table gets stuck after enabling region server group feature in secure cluster 2018-01-18 17:56:52 -08:00
tedyu 9ed52ee3e5 HBASE-19752 RSGroupBasedLoadBalancer#getMisplacedRegions() should handle the case where rs group cannot be determined 2018-01-12 12:16:06 -08:00
Guangxu Cheng b31b386f7f HBASE-19483 Add proper privilege check for rsgroup commands addendum fixes unit test
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-10 06:30:03 -08:00
Guangxu Cheng 3fa3dcd9f9 HBASE-19483 Add proper privilege check for rsgroup commands
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-09 08:11:07 -08:00
Chia-Ping Tsai 654edc5fa5 HBASE-19596 RegionMetrics/ServerMetrics/ClusterMetrics should apply to all public classes 2018-01-04 13:05:21 +08:00
Mike Drob 64cb777a8a HBASE-19552 find-and-replace thirdparty offset 2017-12-28 12:01:25 -06:00
Michael Stack d6d8369655
HBASE-19648 Move branch-2 version from 2.0.0-beta-1-SNAPSHOT to 2.0.0-beta-1 2017-12-27 14:41:19 -08:00
Chia-Ping Tsai 7dee1bcd31 HBASE-19644 add the checkstyle rule to reject the illegal imports 2017-12-28 04:17:45 +08:00
Chia-Ping Tsai d4af099e9e HBASE-19496 Reusing the ByteBuffer in rpc layer corrupt the ServerLoad and RegionLoad 2017-12-22 18:58:08 +08:00