Commit Graph

332 Commits

Author SHA1 Message Date
zhangduo b7793d7d1d HBASE-21585 Remove ClusterConnection 2019-06-18 08:37:50 +08:00
Apache9 9b413cf262
HBASE-22590 Remove the deprecated methods in Table interface (#309)
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
Signed-off-by: Guanghao <zghao@apache.org>
2019-06-17 10:18:18 +08:00
Jan Hentschel 47a96444da
HBASE-22275 Removed deprecated getRegionInfo in HRegionLocation
Signed-off-by: stack <stack@apache.org>
2019-06-16 16:13:46 +02:00
Andrew Purtell a30b186568
HBASE-22449 https everywhere in Maven metadata (#247) 2019-05-21 12:34:25 -07:00
Andrew Purtell a9de9f5f28
HBASE-22377 Provide API to check the existence of a namespace which does not require ADMIN permissions (#225)
Signed-off-by: Xu Cang <xucang@apache.org>
2019-05-14 11:56:16 -07:00
niuyulin 6de308c5bc HBASE-21714 Deprecated isTableAvailableWithSplit method in thrift module 2019-05-07 13:23:38 +08:00
Jan Hentschel 2c7fdb39ce HBASE-22277 Removed deprecated methods from Get 2019-05-01 01:25:53 +02:00
Jan Hentschel 882bbdb8f7 HBASE-22323 Fixed broken Thrift generation 2019-04-29 19:45:31 +02:00
Sean Busbey bf140acd20 HBASE-22083 move eclipse settings into a profile.
Signed-off-by: stack <stack@apache.org>
2019-04-25 14:17:18 -05:00
Jan Hentschel 1f0e43a27a HBASE-22232 Removed deprecated methods in CompareFilter 2019-04-23 13:25:17 +02:00
zhangduo c3c48f30f7 HBASE-22279 Add a getRegionLocator method in Table/AsyncTable interface 2019-04-22 18:37:23 +08:00
meiyi d32f924ef4 HBASE-22117 Move hasPermission/checkPermissions from region server to master
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-04-09 17:01:01 +08:00
zhangduo 11547b79f3 HBASE-22178 Introduce a createTableAsync with TableDescriptor method in Admin 2019-04-07 21:06:00 +08:00
zhangduo cd2374a7f0 HBASE-22108 Avoid passing null in Admin methods
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-04-02 21:13:17 +08:00
meiyi 7b3ff56202 HBASE-21911 Move getUserPermissions from regionserver to master
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-03-27 11:22:21 +08:00
pingsutw 21cb00eef6 HBASE-22064 Remove Admin.deleteSnapshot(byte[])
Signed-off-by: zhangduo <zhangduo@apache.org>
2019-03-23 21:27:12 +08:00
meiyi 86dd92cccb HBASE-22015 UserPermission should be annotated as InterfaceAudience.Public
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-03-19 14:41:22 +08:00
Andrew Purtell 6cd78e899f
HBASE-21926 Profiler servlet 2019-03-17 18:48:12 -07:00
Duo Zhang 3c5761e365 HBASE-22002 Remove the deprecated methods in Admin interface
Signed-off-by: Zheng Hu <openinx@gmail.com>
2019-03-14 21:42:23 +08:00
Bing Xiao 8a2ee8339a HBASE-22011 ThriftUtilities.getFromThrift should set filter when not set columns 2019-03-11 15:16:52 +08:00
zhangduo 10ca598004 HBASE-22001 Polish the Admin interface
Signed-off-by: stack <stack@apache.org>
2019-03-11 14:38:31 +08:00
meiyi 841a45afb7 HBASE-21974 Change Admin#grant/revoke parameter from UserPermission to user and Permission
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-03-02 23:41:48 +08:00
Allan Yang 8408e26d26 HBASE-21962 Filters do not work in ThriftTable 2019-02-27 15:56:25 +08:00
Guanghao Zhang 0fc5173eef HBASE-21922 BloomContext#sanityCheck may failed when use ROWPREFIX_DELIMITED bloom filter 2019-02-23 23:25:01 +08:00
meiyi 9a55cbb2c1 HBASE-21783 Support exceed user/table/ns throttle quota if region server has available quota
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-02-21 15:36:37 +08:00
Guanghao Zhang ed849d2d19 HBASE-21889 Use thrift 0.12.0 when build thrift by compile-thrift profile 2019-02-13 17:14:22 +08:00
Allan Yang 2776bc0151 HBASE-21809 Add retry thrift client for ThriftTable/Admin 2019-01-31 16:43:09 +08:00
meiyi f997252344 HBASE-21739 Move grant/revoke from regionserver to master
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2019-01-30 11:16:57 +08:00
zhangduo d82c1a6c2b HBASE-21791 Upgrade thrift dependency to 0.12.0 2019-01-29 20:06:36 +08:00
Duo Zhang 4f3b95b318 HBASE-21762 Move some methods in ClusterConnection to Connection
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2019-01-25 21:13:44 +08:00
Duo Zhang 594341d6fe HBASE-21710 Add quota related methods to the Admin interface
Signed-off-by: Michael Stack <stack@apache.org>
2019-01-16 21:08:47 +08:00
Allan Yang 52bc6db050 HBASE-21652 Refactor ThriftServer making thrift2 server inherited from thrift1 server(addendum) 2019-01-10 11:03:46 +08:00
Allan Yang f053003ce7 HBASE-21661 Provide Thrift2 implementation of Table/Admin 2019-01-09 15:38:23 +08:00
Allan Yang e4b6b4afb9 HBASE-21652 Refactor ThriftServer making thrift2 server inherited from thrift1 server 2019-01-02 16:13:57 +08:00
Allan Yang b620334c20 HBASE-21650 Add DDL operation and some other miscellaneous to thrift2 (ADDENDUM add some comments) 2018-12-28 15:32:50 +08:00
Allan Yang 7820ba1dbd HBASE-21650 Add DDL operation and some other miscellaneous to thrift2 2018-12-27 22:25:33 +08:00
subrat.mishra 49ae8549cf HBASE-21040 Replace call to printStackTrace() with proper logger call
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-08-15 08:29:54 -07:00
Guangxu Cheng b9413839ab HBASE-20845 Support set the consistency for Gets and Scans in thrift2
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-08-07 13:34:17 -07:00
Wei-Chiu Chuang 7be97980f5 HBASE-20950 Helper method to configure secure DFS cluster for tests
Create a helper method HBaseKerberosUtils#setSecuredConfiguration().
TestSecureExport, TestSaslFanOutOneBlockAsyncDFSOutput,
SecureTestCluster and TestThriftSpnegoHttpServer uses this new helper
method.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-07-31 13:36:17 -07:00
Mike Drob dbcc80c9e7
HBASE-20884 Replace Base64 with j.u.Base64
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-07-13 12:59:36 -05:00
Sakthi 0d33caa39a
HBASE-20617 Removed jetty-jsp module.
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-07-11 11:41:55 -05:00
Sean Busbey f1b536bad4 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
2018-06-18 11:31:04 -07:00
Kevin Risden b25c782f0d HBASE-19852 HBase Thrift should use a SPNEGO HTTP/hostname principal for checking HTTP Kerberos authentication
Return 401 sooner when AUTHORIZATION header is missing

HBase Thrift server was checking for the AUTHORIZATION header and assuming it was always present
even when it was the first request. Many clients will not send the AUTHORIZATION header until
a 401 is received. HBase Thrift in the case of no header was throwing multiple exceptions and
filling the logs with exceptions. This was fixed by checking that if the AUTHORIZATION header is
empty then return a 401 immediately if security is enabled.

Signed-off-by: Josh Elser <elserj@apache.org>
2018-06-11 12:52:19 -04:00
Josh Elser 0c42acbdf8 HBASE-20664 Reduce the broad scope of outToken in ThriftHttpServlet
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2018-05-31 20:02:25 -04:00
Ashish Singhi c60578d982 HBASE-20004 Client is not able to execute REST queries in a secure cluster
Signed-off-by: Ashish Singhi <ashishsinghi@apache.org>
2018-05-10 22:39:43 +05:30
Sean Busbey 8ba2a7eeb9 HBASE-20544 Make HBTU default to random ports.
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Josh Elser <elserj@apache.org>
2018-05-09 23:35:20 -07:00
huzheng 0dcae90eaa HBASE-20543 Fix the flaky TestThriftHttpServer 2018-05-09 10:50:09 +08:00
huzheng dda8018b0f Revert "Fix the flaky TestThriftHttpServer"
This reverts commit 4f7aa3b71d.
2018-05-09 10:44:35 +08:00
huzheng 4f7aa3b71d Fix the flaky TestThriftHttpServer 2018-05-09 09:50:59 +08:00
Balazs Meszaros e73ba582f2 HBASE-20427 thrift.jsp displays "Framed transport" incorrectly
Signed-off-by: Sean Busbey <busbey@apache.org>
2018-04-23 11:05:53 +02:00
Kevin Risden 46cb5dfa22 HBASE-20406 HBase Thrift HTTP - Shouldn't handle TRACE/OPTIONS methods
Signed-off-by: Josh Elser <elserj@apache.org>
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2018-04-20 22:42:03 -05:00
Sean Busbey eb3f5b2812 Revert "HBase Thrift HTTP - Shouldn't handle TRACE/OPTIONS methods"
This reverts commit 273d252838.

missing jira id
2018-04-20 22:41:50 -05:00
Kevin Risden 273d252838 HBase Thrift HTTP - Shouldn't handle TRACE/OPTIONS methods
Signed-off-by: Josh Elser <elserj@apache.org>
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2018-04-20 14:38:59 -05:00
Balazs Meszaros 1ad09d2f66 HBASE-20358 Fix bin/hbase thrift usage text 2018-04-11 11:47:04 -07:00
Josh Elser 15c398f7d2 HBASE-20223 Update to hbase-thirdparty 2.1.0
Remove commons-cli and commons-collections4 use. Account
for the newer internal protobuf version of 3.5.1.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Mike Drob <mdrob@apache.org>
2018-03-26 22:05:19 -04:00
Jan Hentschel 64ccd2b295 HBASE-13300 Fixed casing in set/getTimeStamp for Mutations 2018-03-23 17:23:22 -07:00
Umesh Agashe c614b9f3e8 HBASE-20224 Web UI is broken in standalone mode
Changes for HBASE-20027 seem to cause UI not showing up on default port in standalone mode. For concurrent
unit test execution, individual tests can set hbase.localcluster.assign.random.ports to true or modify
test/resources/hbase-site.xml.
2018-03-22 20:27:39 -07:00
Michael Stack 5d1b2110d1
Revert "HBASE-20224 Web UI is broken in standalone mode"
Broke shell tests.

This reverts commit dd9fe813ec.
2018-03-22 10:57:42 -07:00
Umesh Agashe 4cb40e6d84 HBASE-20224 Web UI is broken in standalone mode
Changes for HBASE-20027 seem to cause UI not showing up on default port in standalone mode. For concurrent
unit test execution, individual tests can set hbase.localcluster.assign.random.ports to true or modify
test/resources/hbase-site.xml.
2018-03-22 06:52:20 -07:00
Chia-Ping Tsai a6eeb26cc0 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:10:23 +08:00
Sean Busbey 2a65066b35 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>
2018-03-02 09:25:10 -06:00
Michael Stack 0593dda663 HBASE-19951 Cleanup the explicit timeout value for test method 2018-02-10 09:24:31 -08:00
zhangduo 918599ef12 HBASE-19873 Add a CategoryBasedTimeout ClassRule for all UTs 2018-01-29 08:43:56 +08:00
Apekshit Sharma 0b6422658c HBASE-19780 Remove execution phase and goal of checkstyle plugin.
We don't do checkstyle as part of default "mvn install" since it takes significant
amount of time (~90sec) and slows builds and development. We only need it for pre-commits.
2018-01-23 15:08:04 -08:00
Peter Somogyi d589b72382 HBASE-19847 Fix findbugs and error-prone warnings in hbase-thrift (branch-2)
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-23 08:08:34 -08:00
Reid Chan 9a45e0a9de HBASE-17513 Thrift Server 1 uses different QOP settings than RPC and Thrift Server 2 and can easily be misconfigured so there is no encryption when the operator expects it
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
Signed-off-by: Josh Elser <elserj@apache.org>
2018-01-22 11:28:00 -05:00
Artem Ervits 11d6e6b1e6 HBASE-19829 hadoop-minicluster pulls zookeeper:test-jar:tests 3.4.6
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-19 15:18:22 -08:00
Umesh Agashe 8b6b2b0b22
HBASE-19739 Include thrift IDL files in hbase-thrift.jar and .proto files in hbase-protocol-shaded.jar respectively
Signed-off-by: Michael Stack <stack@apache.org>
2018-01-16 12:35:00 -08:00
Guangxu Cheng 7ddf79946d HBASE-19483 Add proper privilege check for rsgroup commands
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-08 19:48:37 -08:00
Jan Hentschel 8a5b1538c8 HBASE-19723 Removed duplicated dependency slf4j-api from hbase-thrift 2018-01-07 13:22:03 +01:00
Jan Hentschel 830179600d HBASE-19471 Fixed remaining Checkstyle errors in hbase-thrift 2018-01-07 13:14:00 +01:00
tedyu 5ce9351129 HBASE-19483 Add proper privilege check for rsgroup commands - revert due to pending review comment 2018-01-05 12:06:31 -08:00
Guangxu Cheng fc7736eb00 HBASE-19483 Add proper privilege check for rsgroup commands
Signed-off-by: tedyu <yuzhihong@gmail.com>
2018-01-05 11:18:07 -08:00
Mike Drob c3b4f788b1 HBASE-19552 find-and-replace thirdparty offset 2017-12-28 11:52:32 -06:00
Chia-Ping Tsai 53233be5a9 HBASE-19626 Rename Cell.DataType to Cell.Type 2017-12-28 13:04:29 +08:00
Balazs Meszaros f572c4b80e HBASE-10092 Move up on to log4j2
Changes:
- replaced commons-logging to slf4j everywhere
- log.XXX(Throwable) calls were replaced with log.XXX(t.toString(), t)
- log.XXX(Object) calls were replaced with log.XXX(Objects.toString(obj))
- log.fatal() calls were replaced with log.error(HBaseMarkers.FATAL, ...)
- programmatic log4j configuration was removed from the unit test

This commit does not affect the current logging configurations, because log4j
is still on the classpath. slf4j-log4j12 binds log4j to slf4j.

Signed-off-by: Michael Stack <stack@apache.org>
2017-12-20 22:21:33 -08:00
Jan Hentschel f46a6d1637 HBASE-19540 Reduced number of unnecessary semicolons 2017-12-19 20:06:59 +01:00
Michael Stack b4056d267a
HBASE-19122 Suspect methods on Cell to be deprecated 2017-12-18 15:20:44 -08:00
Mike Drob 75f512bd71 HBASE-18838 Fix hadoop3 check-shaded-invariants 2017-12-15 11:19:47 -06: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
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
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
Jan Hentschel 3eb87802c8 HBASE-19375 Fixed Checkstyle import order errors in hbase-thrift 2017-12-09 20:18:30 +01:00
Guangxu Cheng b4a4be65ea HBASE-19362 Remove unused imports from hbase-thrift module
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
2017-11-29 11:00:59 +01:00
Vasudevan 73e3af00e9 HBASE-19092 Make Tag IA.LimitedPrivate and expose for CPs (Ram) 2017-11-24 12:21:38 +05:30
Tamas Penzes 377174d3ef HBASE-18601: Update Htrace to 4.2
Updated HTrace version to 4.2
Created TraceUtil class to wrap htrace methods. Uses try with resources.

Signed-off-by: Balazs Meszaros <balazs.meszaros@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-11 10:34:03 -08:00
Reid Chan 49abc2e1c2 HBASE-19118 Use SaslUtil to set Sasl.QOP in 'Thrift'
Signed-off-by: Josh Elser <elserj@apache.org>
2017-11-01 23:43:17 -04:00
Michael Stack f6c2490b82
HBASE-18995 Move methods that are for internal usage from CellUtil to Private util class (Ramkrishna Vasudevan) 2017-10-27 17:48:55 -07:00
Guanghao Zhang 38879fb3ff 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:06:30 -07:00
Andy Yang afce850cfd HBASE-13844 Move static helper methods from KeyValue into CellUtils
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-29 11:50:23 +08:00
Chia-Ping Tsai a11a35a113 HBASE-18839 Apply RegionInfo to code base 2017-09-28 20:19:29 +08:00
Apekshit Sharma 97513466c0 HBASE-17732 Coprocessor Design Improvements
------------------------------------------------------
TL;DR
------------------------------------------------------
We are moving from Inheritence
- Observer *is* Coprocessor
- FooService *is* CoprocessorService
To Composition
- Coprocessor *has* Observer
- Coprocessor *has* Service

------------------------------------------------------
Design Changes
------------------------------------------------------
- Adds four new interfaces - MasterCoprocessor, RegionCoprocessor, RegionServierCoprocessor,
  WALCoprocessor
- These new *Coprocessor interfaces have a get*Observer() function for each observer type
  supported by them.
- Added Coprocessor#getService() to base interface. All extending *Coprocessor interfaces will
  get it from the base interface.
- Added BulkLoadObserver hooks to RegionCoprocessorHost instad of SecureBulkLoadManager doing its
  own trickery.
- CoprocessorHost#find*() fuctions: Too many testing hooks digging into CP internals.
  Deleted if can, else marked @VisibleForTesting.

------------------------------------------------------
Backward Compatibility
------------------------------------------------------
- Old coprocessors implementing *Observer won't get loaded (no backward compatibility guarantees).
- Third party coprocessors only implementing Coprocessor will not get loaded (just like Observers).
- Old coprocessors implementing CoprocessorService (for master/region host)
  /SingletonCoprocessorService (for RegionServer host) will continue to work with 2.0.
- Added test to ensure backward compatibility of CoprocessorService/SingletonCoprocessorService
- Note that if a coprocessor implements both observer and service in same class, its service
  component will continue to work but it's observer component won't work.

------------------------------------------------------
Notes
------------------------------------------------------
Did a side-by-side comparison of CPs in master and after patch. These coprocessors which were just
CoprocessorService earlier, needed a home in some coprocessor in new design. For most it was clear
since they were using a particular type of environment. Some were tricky.

- JMXListener - MasterCoprocessor and RSCoprocessor (because jmx listener makes sense for
  processes?)
- RSGroupAdminEndpoint --> MasterCP
- VisibilityController -> MasterCP and RegionCP

These were converted to RegionCoprocessor because they were using RegionCoprocessorEnvironment
which can only come from a RegionCPHost.
- AggregateImplementation
- BaseRowProcessorEndpoint
- BulkDeleteEndpoint
- Export
- RefreshHFilesEndpoint
- RowCountEndpoint
- MultiRowMutationEndpoint
- SecureBulkLoadEndpoint
- TokenProvider

Change-Id: I813145f2bc11815f52ac703563b879962c249764
2017-09-27 12:40:25 -07:00
anoopsamjohn bd68551f26 HBASE-18298 RegionServerServices Interface cleanup for CP expose. 2017-09-27 11:01:51 +05:30
Guangxu Cheng cfb6a54f69 HBASE-18875 Thrift server supports read-only mode
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-25 15:11:03 -07:00
Sean Busbey 5264f04b6d HBASE-18836 Note need for explicit javax.el and exclude from shaded artifacts
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2017-09-18 09:52:10 -05:00
Sean Busbey 2a8fb7a9ae Revert "HBASE-18836 Note need for explicit javax.el and exclude from shaded artifacts"
This reverts commit de32b11fe4.

Mistaken push of wrong branch.
2017-09-18 08:53:42 -05:00
Sean Busbey de32b11fe4 HBASE-18836 Note need for explicit javax.el and exclude from shaded artifacts 2017-09-18 08:47:46 -05:00
Michael Stack 5c12e424e6 HBASE-18831 Add explicit dependency on javax.el
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-16 10:37:27 -07:00
Sean Busbey 4b124913f0 HBASE-17823 Migrate to Apache Yetus Audience Annotations
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Misty Stanley-Jones <misty@apache.org>
2017-09-12 20:53:30 -05:00
Yechao Chen eb5e43673c HBASE-18772 [JDK8] Replace AtomicLong with LongAdder
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-13 06:09:51 +08:00