Commit Graph

14469 Commits

Author SHA1 Message Date
Michael Stack 010012cbcb HBASE-18946 Stochastic load balancer assigns replica regions to the same RS
Added new bulk assign createRoundRobinAssignProcedure to complement
the existing createAssignProcedure. The former asks the balancer for
target servers to set into the created AssignProcedures. The latter
sets no target server into AssignProcedure. When no target server
is specified, we make effort at assign-time at trying to deploy the
region to its old location if there was one.

The new round robin assign procedure creator does not do this. Use
the new round robin method on table create or reenabling offline
regions. Use the old assign in ServerCrashProcedure or in
EnableTable so there is a chance we retain locality.

Bulk preassigning passing all to-be-assigned to the balancer in one
go is good for ensuring good distribution especially when read
replicas in the mix.

The old assign was single-assign scoped so region replicas could
end up on the same server.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
 Cleanup around forceNewPlan. Was confusing.
 Added a Comparator to sort AssignProcedures so meta and system tables
 come ahead of user-space tables.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 Remove the forceNewPlan argument on createAssignProcedure. Didn't make
 sense given we were creating a new AssignProcedure; the arg had no
 effect.

 (createRoundRobinAssignProcedures) Recast to feed all regions to the balancer in
 bulk and to sort the return so meta and system tables take precedence.

Miscellaneous fixes including keeping the Master around until all
RegionServers are down, documentation on how assignment retention
works, etc.
2017-12-15 08:53:41 -08:00
Michael Stack 11e82de8a1 HBASE-15536 Make AsyncFSWAL as our default WAL
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-12-15 20:45:29 +08:00
anoopsamjohn 018a65b947 HBASE-19505 Disable ByteBufferPool by default at HM. 2017-12-15 15:43:10 +05:30
tedyu deba43b156 HBASE-19516 IntegrationTestBulkLoad and IntegrationTestImportTsv run into 'java.lang.RuntimeException: DistributedHBaseCluster@1bb564e2 not an instance of MiniHBaseCluster' (Ankit) 2017-12-14 18:37:09 -08:00
zhangduo 661491b56b HBASE-19513 Fix the wrapped AsyncFSOutput implementation 2017-12-15 09:39:36 +08:00
Michael Stack 6ab8ce9829
Revert "HBASE-18352 Enable TestMasterOperationsForRegionReplicas#testCreateTableWithMultipleReplicas"
Pushed prematurely

This reverts commit 1a173f820b.
2017-12-14 14:17:20 -08:00
Chia-Ping Tsai 70f02dbc7c
HBASE-19462 Deprecate all addImmutable methods in Put
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-14 14:15:54 -08:00
Michael Stack 1a173f820b
HBASE-18352 Enable TestMasterOperationsForRegionReplicas#testCreateTableWithMultipleReplicas
disabled by Proc-V2 AM in HBASE-14614

Reenables the test. Adds facility to HBaseTestingUtility so
you can pass in ports a restarted cluster should use. This
is needed so retention of region placement, on which this
test depends, can come trigger (this is why it was broke
on AMv2 commit... region placement retention is done
different in AMv2).
2017-12-14 14:13:55 -08:00
Josh Elser 4a1c3b4210 HBASE-19267 Remove compiler-plugin mapping executions as it breaks Java8 detection
It seems like the original reason this execution filter was added is no
longer an issue for 2.0. Actually, these entries actually preclude
Eclipse from correctly using the Java8 source/target version that we
have specified (which creates numerous compilation errors in Eclipse)

Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-12-14 15:11:19 -05:00
Mike Drob 2c9ef8a471 HBASE-19289 Add flag to disable stream capability enforcement
Signed-off-by: Josh Elser <elserj@apache.org>
2017-12-14 12:19:22 -06:00
ramkrish86 d5aefbd2c7 HBASE-19511 Splits causes blocks to be cached again and so such blocks cannot be evicted from bucket cache (Ram)
Signed-off Duo Zhang, Anoop Sam John <palomino219@gmail.com, anoop.hbase@gmail.com>
2017-12-15 00:35:20 +05:30
zhangduo fe316fe7ac HBASE-19512 Move EventType and ExecutorType from hbase-client to hbase-server 2017-12-14 20:15:44 +08:00
zhangduo 7466e64abb HBASE-19510 TestDistributedLogSplitting is flakey for AsyncFSWAL 2017-12-14 15:59:41 +08:00
Michael Stack d1fb987265 HBASE-19287 Revert "Revert "master hangs forever if RecoverMeta
send assign meta region request to target server fail""

This is a revert of a revert; i.e a reapplication with the
log message fixed up and some added javadoc.

This reverts commit 9ef115163b.

Signed-off-by: Yi Liang <yliang@us.ibm.com>
2017-12-13 23:08:28 -08:00
Michael Stack 9ef115163b Revert "master hangs forever if RecoverMeta send assign meta region request to target server fail"
Reverting because missing issue JIRA #

This reverts commit d3aeaeffa4.
2017-12-13 23:06:23 -08:00
Yi Liang d3aeaeffa4 master hangs forever if RecoverMeta send assign meta region request to target server fail 2017-12-13 22:29:19 -08:00
zhangduo ba5f9ac380 HBASE-19503 Fix TestWALOpenAfterDNRollingStart for AsyncFSWAL 2017-12-14 09:41:12 +08:00
tedyu 104afd74a6 HBASE-19434 create_namespace command for existing namespace does not throw useful error message 2017-12-13 16:00:33 -08:00
Chia-Ping Tsai eebff56fe6 HBASE-19484 (addendum) NPE in ExtendedCell#write 2017-12-14 02:36:37 +08:00
Michael Stack d28e126b29
HBASE-19508 ReadOnlyConfiguration throws exception if any Configuration in current context calls addDefautlResource; ADDENDUM -- fix license 2017-12-13 10:28:55 -08:00
Michael Stack 736dd93c31
HBASE-19508 ReadOnlyConfiguration throws exception if any Configuration in current context calls addDefautlResource
Signed-off-by: Peter Somogyi <psomogyi@cloudera.com>
2017-12-13 10:23:50 -08:00
Sergey Soldatov d0c2329aa8 HBASE-19456 RegionMover's region server hostname option is no longer case insensitive
Signed-off-by: Josh Elser <elserj@apache.org>
2017-12-13 12:03:14 -05:00
Guangxu Cheng 86043ef629 HBASE-19000 Group multiple block cache clear requests per server
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-13 07:47:09 -08:00
Chia-Ping Tsai 7f586995a8 HBASE-19502 Make sure we have closed all StoreFileScanner if we fail to open any StoreFileScanners 2017-12-13 21:30:08 +08:00
BELUGA BEHR 536187446d HBASE-19472 Remove ArrayUtil Class
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-13 19:02:07 +08:00
Chia-Ping Tsai 677c1f2c63 HBASE-19427 Add TimeRange support into Append to optimize for counters 2017-12-13 15:35:49 +08:00
Apekshit Sharma 1b822b60b5 HBASE-19489 Adds QUICK_HADOOPCHECK flag to check against only the latest maintenance releases in "hadoopcheck". Updates hadoop version to 3.0.0-beta1. 2017-12-12 23:22:04 -08:00
Peter Somogyi 7e5f3a516c HBASE-19213 Align check and mutate operations in Table and AsyncTable
- Deprecates old checkAnd*() operations in Table
- Adds Table#CheckAndMutateBuilder and implements it in HTable

Commiter note: When committing the patch, noticed redundant {@inheritDoc} being added in HTable.
Removed new and olds ones.
2017-12-12 20:37:24 -08:00
Guanghao Zhang 54cd677cbe
HBASE-19495 Fix failed ut TestShell
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-12 18:27:01 -08:00
tedyu 11467ef111 HBASE-19394 Support multi-homing env for the publication of RS status with multicast (hbase.status.published) (Toshihiro Suzuki) 2017-12-12 07:38:15 -08:00
zhangduo 2e813f106f HBASE-19493 Make TestWALMonotonicallyIncreasingSeqId also work with AsyncFSWAL 2017-12-12 20:56:58 +08:00
zhangduo 856ee283fa
HBASE-19371 Running WALPerformanceEvaluation against asyncfswal throws exceptions
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-11 13:38:02 -08:00
Vasudevan eb67ee0d0f HBASE-19485 Minor improvement to TestCompactedHFilesDischarger (Ram)
Signed off by : Ted Yu <yuzhihong@gmail.com>
2017-12-11 22:53:46 +05:30
Chia-Ping Tsai 08d6b55750 HBASE-19484 The value array written by ExtendedCell#write is out of bounds 2017-12-11 10:56:50 +08:00
Peter Somogyi 7506591a20 HBASE-18988 Add release managers to reference guide
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
2017-12-10 21:36:47 +01:00
BELUGA BEHR a0b0bcede0 HBASE-19464 Replace StringBuffer with StringBuilder for hbase-common
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-10 22:40:46 +08:00
Jan Hentschel 3eb87802c8 HBASE-19375 Fixed Checkstyle import order errors in hbase-thrift 2017-12-09 20:18:30 +01:00
tedyu 82e278be55 HBASE-19469 Review Of BackupSystemTable (BELUGA BEHR) 2017-12-09 09:38:00 -08:00
Jan Hentschel c98bab51de HBASE-17425 Fixed deprecated calls in TestUpdateConfiguration 2017-12-09 14:42:43 +01:00
Guanghao Zhang e880946f53 HBASE-19463 Make CPEnv#getConnection return a facade that throws Unsupported if CP calls #close 2017-12-09 20:20:18 +08:00
Apekshit Sharma 7092b814bd HBASE-19457 Debugging flaky TestTruncateTableProcedure
- Adds debug logging for future ease
- Removes 60s timeout since testRecoveryAndDoubleExecutionPreserveSplits is only halfway after a minute.
- Adds some comments
- Logging change: Some places report "regionState=" while others just "state=".
  State machine procs also have "state=" in their logs. Let me change all region related logging to "regionState=" so that
  1) it's consistent everywhere, 2) more filtered results when searching through logs.
2017-12-08 17:25:16 -08:00
Michael Stack a5a77ae3d5
HBASE-19134 Make WALKey an Interface; expose Read-Only version to CPs
Created a new WALKey Interface and a WALKeyImpl. The WALKey Interface
is surfaced to Coprocessors and throughout most of the code base.
WALKeyImpl is used internally by WAL and by Replication which need
access to WALKey setters.

Methods that were deprecated in WALObserver because they were exposing
Private audience Classes have been undeprecated now we have WALKey.

Moved over to use SequenceId#getSequenceId throughout. Changed
SequenceId#getSequenceId removing the IOE.
2017-12-08 15:12:31 -08:00
Michael Stack 542060ce40
HBASE-19461 TestRSGroups is broke 2017-12-08 15:09:46 -08:00
Jan Hentschel 07b193ae4f HBASE-19373 Fixed remaining Checkstyle error in hbase-annotations 2017-12-08 23:18:52 +01:00
Jan Hentschel 5b174b65c0 HBASE-19360 Removed unused imports from hbase-zookeeper module 2017-12-08 23:12:09 +01:00
Jan Hentschel 114b62e637 HBASE-19180 Removed unused imports from AlwaysPasses 2017-12-08 22:58:27 +01:00
Yuqi Gu 139c3305a5 HBASE-19387 Fix Hbase-spark Arm64 SnappyError
The spark version in hbase is 1.6.0.
And the snappy version based on hbase-1.6.0 do not support the Arm64.
The patch is to update the dependency for snappy-java in hbase-spark.

Jira: HBASE-19387

Change-Id: I02449baf43a5b49d1de7065682863ea822e4de88
Signed-off-by: Yuqi Gu <yuqi.gu@arm.com>
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-08 09:22:59 -08:00
tedyu 5034411438 HBASE-19433 ChangeSplitPolicyAction modifies an immutable HTableDescriptor 2017-12-07 19:44:14 -08:00
Apekshit Sharma 033e64a8b1 HBASE-19454 Debugging TestDistributedLogSplitting#testThreeRSAbort
- Changed testThreeRSAbort to kill the RSs intead of aborting. Simple aborting will close the regions, we want extreme failure testing here.
- Adds some logging for easier debugging.
- Refactors TestDistributedLogSplitting to use standard junit rules.
2017-12-07 19:03:52 -08:00
Michael Stack 66db0006eb
HBASE-19349 Introduce wrong version depencency of servlet-api jar
Move the hadoop-hdfs guava exclude in modules up to the top pom.
Looks like an exclude in a module is not additive but rather exclusive
blanking out the top level set of exclusions.

Tested by looking in lib dir of the built tarball.
2017-12-07 17:50:30 -08:00