Commit Graph

14082 Commits

Author SHA1 Message Date
Apekshit Sharma d6982414c1 HBASE-19053 Split out o.a.h.h.http from hbase-server into a separate module
Change-Id: Ie3a688b789104df7feaf34ac9fb326a79d6a3960
2017-10-23 23:25:26 -07:00
Michael Stack 94748a3c93
HBASE-18846 Accommodate the hbase-indexer/lily/SEP consumer deploy-type
Patch to start a standalone RegionServer that register's itself and
optionally stands up Services. Can work w/o a Master in the mix.
Useful testing. Also can be used by hbase-indexer to put up a
Replication sink that extends public-facing APIs w/o need to extend
internals. See JIRA release note for detail.

This patch adds booleans for whether to start Admin and Client Service.
Other refactoring moves all thread and service start into the one fat
location so we can ask to by-pass 'services' if we don't need them.
See JIRA for an example hbase-server.xml that has config to shutdown
WAL, cache, etc.

Adds checks if a service/thread has been setup before going to use it.

Renames the ExecutorService in HRegionServer from service to
executorService.

See JIRA too for example Connection implementation that makes use of
Connection plugin point to receive a replication stream. The default
replication sink catches the incoming replication stream, undoes the
WALEdits and then creates a Table to call a batch with the
edits; up on JIRA, an example Connection plugin (legit, supported)
returns a Table with an overridden batch method where in we do index
inserts returning appropriate results to keep the replication engine
ticking over.

Upsides: an unadulterated RegionServer that will keep replication metrics
and even hosts a web UI if wanted. No hacks. Just ordained configs
shutting down unused services. Injection of the indexing function at a
blessed point with no pollution by hbase internals; only public imports.
No user of Private nor LimitedPrivate classes.
2017-10-23 21:16:49 -07:00
zhangduo a6f89f029a HBASE-19069 Do not wrap the original CompactionLifeCycleTracker when calling CP hooks 2017-10-24 10:56:19 +08:00
Josh Elser 3e0b90b949 HBASE-18873 Move protobufs to private implementation on GlobalQuotaSettings
A hack to "hide" the protobufs, but it's not going to be a trivial
change to remove use of protobufs entirely as they're serialized
into the hbase:quota table.
2017-10-23 22:44:44 -04:00
tedyu 1e98ce2c8e HBASE-19072 Missing beak in catch block of InterruptedException in HRegion#waitForFlushes() 2017-10-23 19:36:45 -07:00
Mike Drob c0144e200d HBASE-18893 remove add/delete/modify column 2017-10-23 20:03:09 -05:00
Mike Drob 34df2e665e HBASE-16338 Remove Jackson1 deps
* Change imports from org.codehaus to com.fasterxml
* Exclude transitive jackson1 from hadoop and others
* Minor test cleanup to add assert messages, fix some parameter order
* Add anti-pattern check for using jackson 1 imports
* Add explicit non-null serialization directive to ScannerModel
2017-10-23 15:24:51 -05:00
anoopsamjohn df71eeff1b HBASE-19067 Do not expose getHDFSBlockDistribution in StoreFile. 2017-10-23 17:05:13 +05:30
zhangduo 4c43ef2683 HBASE-18989 Polish the compaction related CP hooks 2017-10-23 16:52:02 +08:00
anoopsamjohn fad75f07aa HBASE-19046 RegionObserver#postCompactSelection Avoid passing shaded ImmutableList param. 2017-10-23 12:15:08 +05:30
Guanghao Zhang 00f2b18148 HBASE-19007 Align Services Interfaces in Master and RegionServer
Purges Server, MasterServices, and RegionServerServices from
CoprocessorEnvironments. Replaces removed functionality with
a set of carefully curated methods on the *CoprocessorEnvironment
implementations (Varies by CoprocessorEnvironment in that the
MasterCoprocessorEnvironment has Master-type facility exposed,
and so on).

A few core Coprocessors that should long ago have been converted
to be integral, violate their context; e.g. a RegionCoprocessor
wants free access to a hosting RegionServer (which may or may not
be present). Rather than let these violators make us corrupte the
CP API, instead, we've made up a hacky system that allows core
Coprocessors access to internals. A new CoreCoprocessor Annotation
has been introduced. When loading Coprocessors, if the instance is
annotated CoreCoprocessor, we pass it an Environment that has been
padded w/ extra-stuff. On invocation, CoreCoprocessors know how to
route their way to these extras in their environment.

See the *CoprocessoHost for how the do the check for CoreCoprocessor
and pass a fatter *Coprocessor, one that allows getting of either
a RegionServerService or MasterService out of the environment
via Marker Interfaces.

Removed org.apache.hadoop.hbase.regionserver.CoprocessorRegionServerServices

M hbase-endpoint/src/main/java/org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java
 This Endpoint has been deprecated because its functionality has been
 moved to core. Marking it a CoreCoprocessor in the meantime to
 minimize change.

M hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdminEndpoint.java
 This should be integral to hbase. Meantime, marking it CoreCoprocessor.

M hbase-server/src/main/java/org/apache/hadoop/hbase/Server.java
 Added doc on where it is used and added back a few methods we'd
removed.

A hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoreCoprocessor.java
 New annotation for core hbase coprocessors. They get richer environment
 on coprocessor loading.

A hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/HasMasterServices.java
A hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/HasRegionServerServices.java
 Marker Interface to access extras if present.

M hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterCoprocessorEnvironment.java
  Purge MasterServices access. Allow CPs a Connection.

M hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionCoprocessorEnvironment.java
  Purge RegionServerServices access. Allow CPs a Connection.

M hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionServerCoprocessorEnvironment.java
  Purge MasterServices access. Allow CPs a Connection.

M hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/MasterSpaceQuotaObserver.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/quotas/QuotaCache.java
  We no longer have access to MasterServices. Don't need it actually.
  Use short-circuiting Admin instead.

D hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/CoprocessorRegionServerServices.java
  Removed. Not needed now we do CP Env differently.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
  No need to go via RSS to getOnlineTables; just use HRS.

And so on. Adds tests to ensure we can only get at extra info
if the CP has been properly marked.
2017-10-21 11:07:27 -07:00
Guanghao Zhang 51ceeece25 HBASE-19010 Reimplement getMasterInfoPort for Admin 2017-10-21 18:33:12 +08:00
Chia-Ping Tsai d8afa3e067 HBASE-19058. The wget isn't installed in building docker image
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-10-20 20:38:06 -05:00
Sean Busbey a37ff39b7a HBASE-19039 refactor shadedjars test to only run on java changes.
Signed-off-by: Mike Drob <mdrob@apache.org>
2017-10-20 19:43:08 -05:00
Sean Busbey 01ab747a5f HBASE-19060 precommit plugin test 'hadoopcheck' should only run when java or maven files change.
Signed-off-by: Mike Drob <mdrob@apache.org>
2017-10-20 19:43:02 -05:00
Mike Drob bd9c37367e HBASE-19061 update enforcer rules for NPE 2017-10-20 16:04:41 -05:00
anoopsamjohn 2962aa2d3e HBASE-19045 Deprecate RegionObserver#postInstantiateDeleteTracker. 2017-10-20 23:59:07 +05:30
Michael Stack 9b4caf4b1b HBASE-19043 Purge TableWrapper and CoprocessorHConnnection
Also purge Coprocessor#getTable... Let Coprocessors manage their
Table Connections in hbase2.0.0.
2017-10-20 11:15:42 -07:00
Chia-Ping Tsai a038f180c1 HBASE-19014 surefire fails; When writing xml report stdout/stderr ... No such file or directory 2017-10-21 01:29:47 +08:00
xiaowen147 af950a6608 HBASE-19051 Add new split algorithm for num string
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Mike Drob <mdrob@apache.org>
2017-10-20 09:52:09 -07:00
Jerry He 75d2bba739 HBASE-10367 RegionServer graceful stop / decommissioning
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-10-19 22:10:52 -07:00
zhangduo 64f024a76c HBASE-19042 Oracle Java 8u144 downloader broken in precommit check
Signed-off-by: Mike Drob <mdrob@apache.org>
2017-10-19 15:54:49 -05:00
tedyu be37515032 HBASE-19026 TestLockProcedure#testRemoteNamespaceLockRecovery fails 2017-10-19 11:12:26 -07:00
Mike Drob 723eb7c6ba HBASE-19038 precommit mvn install should run from root on patch 2017-10-18 10:39:52 -05:00
Sean Busbey 12f9398038 HBASE-19020 HBase Rest test for xml parsing external entities should not rely on implementation of java XML APIs.
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-18 09:46:35 -05:00
zhangduo 7a66685801 HBASE-19001 Remove the hooks in RegionObserver which are designed to construct a StoreScanner which is marked as IA.Private 2017-10-18 11:06:44 +08:00
tedyu 998bc32ec9 HBASE-18945 Make a IA.LimitedPrivate interface for CellComparator - addendum fixes compilation for branch-2 2017-10-17 16:30:53 -07:00
Apekshit Sharma 16ccd55c43 HBASE-19032 Set mimetype for patches uploaded by submit-patch.py
Change-Id: I38e6417dddd4e2525cd6a929922b2612c91d660d
2017-10-17 15:43:51 -07:00
Balazs Meszaros 6765f5e203
HBASE-18350 RSGroups are broken under AMv2
- Table moving to RSG was buggy, because it left the table unassigned.
  Now it is fixed we immediately assign to an appropriate RS
  (MoveRegionProcedure).
- Table was locked while moving, but unassign operation hung, because
  locked table queues are not scheduled while locked. Fixed.
- ProcedureSyncWait was buggy, because it searched the procId in
  executor, but executor does not store the return values of internal
  operations (they are stored, but immediately removed by the cleaner).
- list_rsgroups in the shell show also the assigned tables and servers.

Signed-off-by: Michael Stack <stack@apache.org>
2017-10-17 13:58:57 -07:00
Umesh Agashe 08dff49620
HBASE-18960 A few bug fixes and minor improvements around batchMutate
* batch validation and preparation is done before we start iterating over operations for writes
* durability, familyCellMaps and observedExceptions are batch wide and are now sotred in BatchOperation,
  as a result durability is consistent across all operations in a batch
* for all operations done by preBatchMutate() CP hook, operation status is updated to success
* doWALAppend() is modified to habdle replay and is used from doMiniBatchMutate()
* minor improvements

Signed-off-by: Michael Stack <stack@apache.org>
2017-10-17 13:57:36 -07:00
Ramkrishna 2cb64fb467 HBSE-18945 Make a IA.LimitedPrivate interface for CellComparator (Ram) 2017-10-17 23:19:21 +05:30
Reid Chan b96e2f055d HBASE-18990 ServerLoad doesn't override #equals which leads to #equals in ClusterStatus always false
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-18 00:45:34 +08:00
Guanghao Zhang 7f1cd12e8c HBASE-14247 Separate the old WALs into different regionserver directories 2017-10-17 19:39:21 +08:00
Ramkrishna 8b8f7a017b HBASE-19017 [AMv2] EnableTableProcedure is not retaining the assignments
(Ram)
2017-10-17 11:08:41 +05:30
Yu Li cf550c2be1 HBASE-19016 Coordinate storage policy property name for table schema and bulkload 2017-10-17 10:25:27 +08:00
Guanghao Zhang 58b0585d66 HBASE-18914 Remove AsyncAdmin's methods which were already deprecated in Admin interface 2017-10-16 22:23:46 +08:00
Xiang Li aeaf222e35 HBASE-18986 Remove unnecessary null check after CellUtil.cloneQualifier()
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-10-15 13:11:31 -07:00
Apekshit Sharma e04b15c685 HBASE-18954 Make *CoprocessorHost classes private.
Change-Id: I89fded0f74ad83c9bcc2a2b2de925f56aed4e11b
2017-10-15 04:07:24 -07:00
Chia-Ping Tsai d2e4e0e1f3 HBASE-18997 Remove the redundant methods in RegionInfo 2017-10-14 23:32:48 +08:00
Chia-Ping Tsai a63d79837d HBASE-18966 Use non-sync TimeRangeTracker as a replacement for TimeRange in ImmutableSegment 2017-10-14 23:16:48 +08:00
zhangduo 104595137e HBASE-18747 Introduce new example and helper classes to tell CP users how to do filtering on scanners 2017-10-14 08:48:13 +08:00
Huaxiang Sun 7a25ed6d7c HBASE-18355 Enable export snapshot tests that were disabled by Proc-V2 AM in HBASE-14614 2017-10-13 15:31:18 -07:00
tedyu 77bfe05503 HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT 2017-10-13 15:15:12 -07:00
tedyu a4bc3c6db7 HBASE-18843 Add DistCp support to incremental backup with bulk loading (Vladimir Rodionov ) 2017-10-13 15:05:43 -07:00
Mike Drob 822cc1ed73 HBASE-18505 Yetus only run root when all modules changed 2017-10-13 12:12:38 -05:00
tedyu 501f8b9509 HBASE-18998 processor.getRowsToLock() always assumes there is some row being locked 2017-10-13 08:38:48 -07:00
Ramkrishna 5a26243a8a HBASE-18992 Comparators passed to the Memstore's flattened segments seems
to be wrong (Ram)
2017-10-12 22:01:33 +05:30
Jan Hentschel 3cf3dfb65b HBASE-18991 Removed RegionMergeRequest
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-12 21:28:28 +08:00
Peter Somogyi 507a3f9425
HBASE-18108 Procedure WALs are archived but not cleaned; fix
The archived Procedure WALs are moved to <hbase_root>/oldWALs/masterProcedureWALs
directory. TimeToLiveProcedureWALCleaner class was added which
regularly cleans the Procedure WAL files from there.

The TimeToLiveProcedureWALCleaner is now added to
hbase.master.logcleaner.plugins to clean the 2 WALs in one run.

A new config parameter is added hbase.master.procedurewalcleaner.ttl
which specifies how long a Procedure WAL should stay in the
archive directory.

Signed-off-by: Michael Stack <stack@apache.org>
2017-10-11 14:30:45 -07:00
tedyu 19336cadce HBASE-18975 Fix backup / restore hadoop3 incompatibility (Vladimir Rodionov) 2017-10-11 12:29:53 -07:00