Commit Graph

6213 Commits

Author SHA1 Message Date
Michael Stack fc5dc6282c HBASE-19048 Cleanup MasterObserver hooks which takes IA private params 2017-10-25 23:58:10 -07:00
Ramkrishna 0acfba0e35 HBASE-18994 Decide if META/System tables should use Compacting Memstore or
Default Memstore (Ram)
2017-10-26 10:44:59 +05:30
Peter Somogyi 28d81295f3
HBASE-19029 Align RPC timout methods in Table and AsyncTableBase
As part of HBASE-18978 the rpc timeout methods gets aligned
between Table and AsyncTable interfaces.
Deprecate the following methods in Table:
- int getRpcTimeout()
- int getReadRpcTimeout()
- int getWriteRpcTimeout()
- int getOperationTimeout()

Add the following methods to Table:
- long getRpcTimeout(TimeUnit)
- long getReadRpcTimeout(TimeUnit)
- long getWriteRpcTimeout(TimeUnit)
- long getOperationTimeout(TimeUnit)

Fix some javadoc issues.

Signed-off-by: Michael Stack <stack@apache.org>
2017-10-25 09:54:31 -07:00
zhangduo 0b799fdbf0 HBASE-18905 Allow CPs to request flush on Region and know the completion of the requested flush 2017-10-25 20:45:47 +08:00
huzheng 705b3fa98c HBASE-19057 Fix other code review comments about FilterList improvement 2017-10-25 20:36:19 +08:00
huzheng fcaf71d206 HBASE-18368 FilterList with multiple FamilyFilters concatenated by OR does not work
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-10-25 20:36:19 +08:00
huzheng 8a5114b4fa HBASE-18879 HBase FilterList cause KeyOnlyFilter not work 2017-10-25 20:36:19 +08:00
huzheng 59275100e1 HBASE-18411 Dividing FiterList into two separate sub-classes: FilterListWithOR , FilterListWithAND
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-10-25 20:36:19 +08:00
huzheng a811fb410d HBASE-18160 Fix incorrect logic in FilterList.filterKeyValue
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-10-25 20:36:19 +08:00
tedyu 10612254a1 HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT 2017-10-25 20:36:19 +08:00
huzheng 45910981b7 HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-10-25 20:36:19 +08:00
Sean Busbey 4e1c7208cb HBASE-18410 disable the HBASE-18957 test until we can fix it on the feature branch. 2017-10-25 20:36:19 +08:00
Michael Stack 43a8ac0015
BASE-19074 Miscellaneous Observer cleanups; ADDEDNUM to fix FindBugs 2017-10-24 22:41:04 -07:00
Michael Stack 95528d12f3
HBASE-19077 Have Region*CoprocessorEnvironment provide an ImmutableOnlineRegions
Change name of Interface OnlineRegions to MutableOnlineRegions.
Change name of Interface ImmutableOnlineRegions to OnlineRegions.
Did this since OnlineRegions is for consumer other than internals.

Add a getOnlineRegions to the RegionCoprocessorEnvironment and to
RegionServerCoprocessorEnvironment so CPs can 'access' local
Regions directly.
2017-10-24 21:58:14 -07:00
Chia-Ping Tsai 2e6481386b HBASE-18754 (addendum) close the input resource 2017-10-25 12:31:37 +08:00
Apekshit Sharma dd70cc3081 HBASE-19073 Cleanup CoordinatedStateManager
- Merged BaseCSM class into CSM interface
- Removed config hbase.coordinated.state.manager.class
- Since state manager is not pluggable anymore, we don't need start/stop/initialize to setup unknown classes. Our internal ZkCSM now requires Server in constructor itself. Makes the dependency clearer too.
- Removed CSM from HRegionServer and HMaster constructor. Although it's a step back from dependency injection, but it's more consistent with our current (not good)  pattern where we initialize everything in the ctor itself.

Change-Id: Ifca06bb354adec5b11ea1bad4707e014410491fc
2017-10-24 19:56:04 -07:00
tedyu 3cced094c5 HBASE-19065 HRegion#bulkLoadHFiles() should wait for concurrent Region#flush() to finish 2017-10-24 11:53:21 -07:00
Michael Stack cb506fd401 HBASE-19074 Miscellaneous Observer cleanups
Breaks MemStoreSize into MemStoreSize (read-only) and MemStoreSizing
(read/write). MemStoreSize we allow to Coprocesors. MemStoreSizing we
use internally doing MemStore accounting.
2017-10-24 10:02:24 -07:00
Jerry He 9716f62f43 HBASE-19021 Restore a few important missing logics for balancer in 2.0
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-10-24 07:53:17 -07:00
Chia-Ping Tsai 93bac3de0a HBASE-18754 Get rid of Writable from TimeRangeTracker 2017-10-24 14:54:34 +08:00
Sreeram Venkatasubramanian 7cdfbde37d HBASE-16290 Dump summary of callQueue content; can help debugging
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-24 14:28:42 +08:00
Apekshit Sharma 3969b853b2 HBASE-19053 Split out o.a.h.h.http from hbase-server into a separate module
Change-Id: Ie3a688b789104df7feaf34ac9fb326a79d6a3960
2017-10-23 22:52:24 -07:00
Michael Stack 456057ef90
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:13 -07:00
zhangduo 37b29e909d HBASE-19069 Do not wrap the original CompactionLifeCycleTracker when calling CP hooks 2017-10-24 10:56:14 +08:00
Josh Elser 81133f89fc 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:37:10 -04:00
tedyu b7db62c702 HBASE-19072 Missing beak in catch block of InterruptedException in HRegion#waitForFlushes() 2017-10-23 19:34:11 -07:00
Mike Drob a1bc20ab58 HBASE-18893 remove add/delete/modify column 2017-10-23 20:02:25 -05:00
anoopsamjohn 880b26d7d8 HBASE-19067 Do not expose getHDFSBlockDistribution in StoreFile. 2017-10-23 17:04:05 +05:30
zhangduo c9fdbec772 HBASE-18989 Polish the compaction related CP hooks 2017-10-23 16:44:54 +08:00
anoopsamjohn 4add40ca24 HBASE-19046 RegionObserver#postCompactSelection Avoid passing shaded ImmutableList param. 2017-10-23 12:14:09 +05:30
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
Guanghao Zhang 592d541f5d HBASE-19010 Reimplement getMasterInfoPort for Admin 2017-10-21 18:19:22 +08:00
anoopsamjohn 64d164b86d HBASE-19045 Deprecate RegionObserver#postInstantiateDeleteTracker. 2017-10-20 23:57:40 +05:30
Michael Stack d798541261 HBASE-19043 Purge TableWrapper and CoprocessorHConnnection
Also purge Coprocessor#getTable... Let Coprocessors manage their
Table Connections in hbase2.0.0.
2017-10-20 11:06:10 -07:00
xiaowen147 8c6ddc1aa5 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:49:57 -07:00
Mike Drob 5facaded90 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-20 09:20:12 -05:00
Jerry He a43a00e89c HBASE-10367 RegionServer graceful stop / decommissioning
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-10-19 21:54:45 -07:00
tedyu 909e5f2f14 HBASE-19026 TestLockProcedure#testRemoteNamespaceLockRecovery fails 2017-10-19 11:07:57 -07:00
zhangduo e804dd0b60 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:39 +08:00
Balazs Meszaros 41cc9a125f
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:36 -07:00
Umesh Agashe e1941aa6d1
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:00 -07:00
Ramkrishna 70f4c5da47 HBSE-18945 Make a IA.LimitedPrivate interface for CellComparator (Ram) 2017-10-17 23:17:07 +05:30
Reid Chan 9f61f8b281 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:37:13 +08:00
Guanghao Zhang 6db1ce1e91 HBASE-14247 Separate the old WALs into different regionserver directories 2017-10-17 19:35:50 +08:00
Ramkrishna 9a27ac8781 HBASE-19017 [AMv2] EnableTableProcedure is not retaining the assignments
(Ram)
2017-10-17 11:06:51 +05:30
Guanghao Zhang 51489b2081 HBASE-18914 Remove AsyncAdmin's methods which were already deprecated in Admin interface 2017-10-16 22:16:04 +08:00
Xiang Li 83af5f2c62 HBASE-18986 Remove unnecessary null check after CellUtil.cloneQualifier()
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-10-15 13:20:09 -07:00
Apekshit Sharma 202e414eb2 HBASE-18954 Make *CoprocessorHost classes private.
Change-Id: I89fded0f74ad83c9bcc2a2b2de925f56aed4e11b
2017-10-15 04:03:12 -07:00
Chia-Ping Tsai 240b4b16ff HBASE-18997 Remove the redundant methods in RegionInfo 2017-10-14 23:26:11 +08:00
Chia-Ping Tsai 5d9b7a978c HBASE-18966 Use non-sync TimeRangeTracker as a replacement for TimeRange in ImmutableSegment 2017-10-14 23:09:58 +08:00
zhangduo d653c0bc7f HBASE-18747 Introduce new example and helper classes to tell CP users how to do filtering on scanners 2017-10-14 08:48:09 +08:00
tedyu ffdc0e6851 HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT 2017-10-13 13:21:20 -07:00
tedyu 6ebba3cf23 HBASE-18998 processor.getRowsToLock() always assumes there is some row being locked 2017-10-13 08:38:14 -07:00
Ramkrishna e7b4f6046a HBASE-18992 Comparators passed to the Memstore's flattened segments seems
to be wrong (Ram)
2017-10-12 21:58:48 +05:30
Jan Hentschel 138a7392e3 HBASE-18991 Removed RegionMergeRequest
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-12 21:28:07 +08:00
Peter Somogyi 023d4f1ae8
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:16 -07:00
anoopsamjohn b4ed130083 HBASE-18183 Region interface cleanup for CP expose. 2017-10-11 16:47:15 +05:30
zhangduo 8597b19b3d HBASE-18951 Use Builder pattern to remove nullable parameters for checkAndXXX methods in RawAsyncTable/AsyncTable interface 2017-10-10 14:41:23 +08:00
Peter Somogyi c3b3fd7888 HBASE-18949 Remove the CompactionRequest parameter in preCompactSelection
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-10-10 09:41:21 +08:00
Sean Busbey b727ab850c Revert "HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned"
This reverts commit 0d0c330401.

Backing out filterlist regression, see HBASE-18957. Work continuing branch for HBASE-18410.

Signed-off-by: Peter Somogyi <psomogyi@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-10-09 16:49:20 -05:00
Sean Busbey 4eea0d923e Revert "HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT"
This reverts commit df34300cd3.

Backing out filterlist regression, see HBASE-18957. Work continuing branch for HBASE-18410.

Signed-off-by: Peter Somogyi <psomogyi@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-10-09 16:49:20 -05:00
Sean Busbey 183b3e31bd Revert "HBASE-18160 Fix incorrect logic in FilterList.filterKeyValue"
This reverts commit f54cc1ca51.

Backing out filterlist regression, see HBASE-18957. Work continuing branch for HBASE-18410.

Signed-off-by: Peter Somogyi <psomogyi@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-10-09 16:49:20 -05:00
Peter Somogyi 9cabf34e7b HBASE-18957 add test that confirms 2 FamilyFilters in a FilterList using MUST_PASS_ONE operator will return results that match either of the FamilyFilters
Amending-Author: Sean Busbey <busbey@apache.org>

Signed-off-by: Michael Stack <stack@apache.org>
2017-10-09 16:49:20 -05:00
Chia-Ping Tsai e2cef8aa80 HBASE-18752 Recalculate the TimeRange in flushing snapshot to store file 2017-10-09 17:22:29 +08:00
Jan Hentschel fcdf96a0e8
HBASE-18958 Removed the IS annotation from SpaceLimitingException
Signed-off-by: Michael Stack <stack@apache.org>
2017-10-08 17:15:24 -07:00
Michael Stack a4afa38f7a
HBASE-18788 NPE when running TestSerialReplication (Fabrice Monnier) 2017-10-08 17:03:39 -07:00
Guangxu Cheng bb28a3b466 HBASE-18899 Make Fileinfo more readable in HFilePrettyPrinter
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-08 03:27:29 +08:00
Maytee Chinavanichkit 08274045c9 HBASE-18921 Fix Result.current ArrayIndexOutOfBoundsException
Patch ArrayIndexOutOfBoundsException when current() is called after
advance() has already returned false

Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-08 02:50:51 +08:00
Guanghao Zhang 63440a9c7d HBASE-18909 Deprecate Admin's methods which used String regex 2017-10-07 21:16:01 +08:00
Apekshit Sharma e2ad4c038c HBASE-18931 Make ObserverContext an interface.
Change-Id: I9284a3271e06a3ee8ab9719cf012a4d8b3a82c88
2017-10-05 23:34:19 -07:00
zhangduo 98d1637bcd HBASE-18878 Use Optional in return types.
These functions have been changed to return Optional<T> instead of T, where T = old return type.
- ObserverContext#getCaller
- RpcCallContext#getRequestUser
- RpcCallContext#getRequestUserName
- RpcServer#getCurrentCall
- RpcServer#getRequestUser
- RpcServer#getRequestUserName
- RpcServer#getRemoteAddress
- ServerCall#getRequestUser

Change-Id: Ib7b4e6be637283755f55755dd4c5124729f7052e
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-10-04 15:55:18 -07:00
Chia-Ping Tsai 11aa6742f0 HBASE-18927 Add the DataType which is subset of KeyValue#Type to CellBuilder for building cell 2017-10-04 23:45:43 +08:00
Peter Somogyi 0af61dce65
HBASE-18815 We need to pass something like CompactionRequest in CP to give user some information about the compaction
CompactionRequest was removed from CP in HBASE-18453, this change reintroduces
CompatcionRequest to CP as a read-only interface called CompactionRequest.
The CompactionRequest class is renamed to CompactionRequestImpl.

Additionally, this change removes selectionTimeInNanos from CompactionRequest and
uses selectionTime as a replacement. This means that CompactionRequest:toString
is modified and compare as well.

Signed-off-by: Michael Stack <stack@apache.org>
2017-10-03 07:52:33 -07:00
Ramkrishna 50265395d1 HBASE-18490 Modifying a table descriptor to enable replicas does not
create replica regions (Ram)
2017-10-03 13:10:44 +05:30
libisthanks 214d21994e HBASE-18814 Make ScanMetrics enabled and add counter <HBase Counters, ROWS_SCANNED> into the MapReduce Job over snapshot
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-10-02 18:25:18 -07:00
Michael Stack 38eaf47fa7 HBASE-18105 [AMv2] Split/Merge need cleanup; currently they diverge and do not fully embrace AMv2 world (Yi Liang) 2017-10-02 11:38:11 -07:00
Chia-Ping Tsai d35d8376a7 HBASE-18897 Substitute MemStore for Memstore 2017-10-02 20:55:06 +08:00
Chia-Ping Tsai 9f1bfbeaab HBASE-18753 Introduce the unsynchronized TimeRangeTracker 2017-10-01 21:45:03 +08:00
libisthanks 4aadc5d322 HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per region
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-09-30 02:08:42 -07:00
Ashu Pachauri 367dfabf06 Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region" due to wrong jira id.
This reverts commit f20580a530.
2017-09-30 01:44:39 -07:00
libisthanks f20580a530 HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-09-29 16:12:39 -07:00
Andrew Purtell ca87d05a51 HBASE-18436 Add client-side hedged read metrics (Yun Zhao) 2017-09-29 15:37:04 -07:00
zhangduo 239e687267 HBASE-18845 TestReplicationSmallTests fails after HBASE-14004 2017-09-29 14:32:26 +08: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
Apekshit Sharma 74d0adce61 HBASE-18884 Coprocessor Design Improvements follow up of HBASE-17732
- Change Service Coprocessor#getService() to List<Service> Coprocessor#getServices()
- Checkin the finalized design doc into repo
- Added example to javadoc of Coprocessor base interface on how to implement one in the new design
2017-09-28 10:25:47 -07:00
Chia-Ping Tsai a11a35a113 HBASE-18839 Apply RegionInfo to code base 2017-09-28 20:19:29 +08:00
zhangduo 7f4c3b3564 HBASE-18826 Use HStore instead of Store in our own code base and remove unnecessary methods in Store interface 2017-09-28 15:26:52 +08:00
Ramkrishna 0cf15fadd8 HBASE-18888 StealJobQueue should call super() to init the
PriorityBlockingQueue (Ram)
2017-09-28 10:37:23 +05:30
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
Andrew Purtell 91e1f834bf Amend HBASE-18830 TestCanaryTool does not check Canary monitor's error code
Adjust exception control flow to fix findbugs warning
NP_NULL_ON_SOME_PATH_EXCEPTION, Possible null pointer dereference of
regionSink in org.apache.hadoop.hbase.tool.Canary$RegionMonitor.run()
on exception path
2017-09-26 10:38:17 -07:00
Pankaj Kumar 9e7b16b88e HBASE-18874, HMaster abort message will be skipped if Throwable is passed null
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-26 08:17:34 -07:00
Michael Stack 410368b84e HBASE-18859 Purge PB from BulkLoadObserver
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-25 21:14:33 -07:00
Michael Stack 2ceeb54c92 HBASE-18652 Expose individual cache stats in a CombinedCache through JMX (Biju Nair); ADDENDUM 2017-09-25 20:57:58 -07:00
huzheng f54cc1ca51 HBASE-18160 Fix incorrect logic in FilterList.filterKeyValue
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-09-26 11:46:01 +08:00
anoopsamjohn 3c7ab81072 HBASE-16769 Deprecate/remove PB references from MasterObserver and RegionServerObserver 2017-09-26 08:52:23 +05:30
Chinmay Kulkarni 4b208eb2b6 HBASE-18830 TestCanaryTool does not check Canary monitor's error code
Added assertion checks to make sure that the error code for the
ToolRunner run() method is used.

Testing Done: Checked that TestCanaryTool unit tests fail when there is
an error code in the current Canary run.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-09-25 19:06:36 -07:00
Chinmay Kulkarni 176571a852 HBASE-18762 Canary sink type cast error
Changed the type hierarchy of Canary sinks to reduce confusion and avoid
cast errors.

Testing Done: Ran the TestCanaryTool.java test suite and confirmed that
the working is correct.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-09-25 18:19:34 -07:00
Andrew Purtell b145286f36 Amend HBASE-18786 FileNotFoundException should not be silently handled for primary region replicas
Remove now invalid unit test TestCorruptedRegionStoreFile
2017-09-25 17:36:04 -07:00
zhangduo a5f84430a3 HBASE-18825 Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface 2017-09-25 09:35:39 +08:00
Josh Elser 1540483135 HBASE-18807 Remove protobuf references from CP quota API calls 2017-09-23 22:06:51 -04:00
Andrew Purtell b27f9b582a HBASE-18786 FileNotFoundException should not be silently handled for primary region replicas 2017-09-22 12:45:05 -07:00
Andrew Purtell 11d749527a HBASE-18813 TestCanaryTool fails on branch-1 / branch-1.4
Disable units where argument matching is intermittently failing
2017-09-22 09:48:17 -07:00
Chia-Ping Tsai a6c3c645fd HBASE-18823 Apply RegionInfo to MasterObserver/RegionObserver/WALObserver 2017-09-20 18:43:11 -07:00
Michael Stack 37696fffe9 Revert "HBASE-16478 Rename WALKey in PB to WALEdit This is a rebase of Enis's original patch"
Not worth the difference it introduces; means hbase-protocol can no
longer parse a WAL entry.

This reverts commit 9a2e680cae.
2017-09-20 15:27:37 -07:00
Zach York 8301734594 HBASE-18478 Allow users to remove RegionFinder from LoadBalancer calculations if no locality possible
This provides significant cluster start time reduction for FileSystems which do not surface locality (S3).

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-09-19 17:35:04 -07:00
Abhishek Singh Chouhan 29a3ff3037 HBASE-18796 Admin#isTableAvailable returns incorrect result before daughter regions are opened
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-09-19 15:06:15 -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
Chia-Ping Tsai 190a660d17 HBASE-18798 Remove the unused methods in RegionServerObserver 2017-09-18 09:44:57 +08: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
zhangduo a6d8cedb06 HBASE-18446 Mark StoreFileScanner/StoreFileReader as IA.LimitedPrivate(Phoenix) 2017-09-15 20:36:46 +08:00
zhangduo 4341c3f554 HBASE-14004 [Replication] Inconsistency between Memstore and WAL may result in data in remote cluster that is not in the origin 2017-09-15 19:22:00 +08:00
Yechao Chen 5c07dba43a HBASE-18772 (Addendum) we pass the wrong arguments to AdaptiveLifoCoDelCallQueue
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-15 10:27:47 +08:00
Chia-Ping Tsai 9c5b03acd7 HBASE-18766 Make TableSnapshotScanner Audience Private
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-14 14:30:05 -07:00
brandboat 58988cb53c HBASE-17980 Any HRegionInfo we give out should be immutable
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-14 14:25:07 -07:00
Michael Stack 98f4171109 HBASE-18818 TestConnectionImplemenation fails 2017-09-14 12:27:37 -07:00
Peter Somogyi 778f507ada HBASE-18683 Upgrade hbase to commons-math 3
Upgrade commons-math:2.2 to commons-math3:3.6.1
Remove commons-math 2 specific content from LICENSE.vm
Add missing jersey-client dependency to hbase-it module

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-14 08:34:28 -07:00
Reid Chan c17b491432 HBASE-18801 Bulk load cleanup may falsely deem file deletion successful
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-14 08:09:42 -07:00
zhangduo 61d10feffa HBASE-18453 CompactionRequest should not be exposed to user directly 2017-09-14 20:37:33 +08:00
Chia-Ping Tsai 38e983ed44 HBASE-18794 Remove deprecated methods in MasterObserver 2017-09-14 15:10:20 +08:00
Michael Stack d2792a07fe HBASE-18772 [JDK8] Replace AtomicLong with LongAdder; ADDENDUM -- disable broke test 2017-09-13 23:24:53 -07:00
Michael Stack 780be085ed HBASE-14998 Unify synchronous and asynchronous methods in Admin and cleanup
This is based on patch sent me by Balazs Meszaros. The good stuff in
here is from him. This patch does less than his ambition. It changes
Admin class only. Can work on making AsyncAdmin cohere in a follow-on.

 * Deprecates getAlterStatus. Everywhere else we talk of 'modify' rather
   'alter' and should use Future returned from async instead.
 * isTableAvailable(TableName, byte [][]) has been deprecated to be
   removed; use the overrie instead. This is a weird method.
 * Changed listTableDescriptor to getDescriptor.
 * Renamed other like methods to have same pattern (deprecating the old):
    balancer => balance
    setBalancerRunning => balancerSwitch
    setNormalizerRunning => normalizerSwitch
    enableCatalogJanitor => catalogJanitorSwitch
    setCleanerChoreRunning => cleanerChoreSwitch
    setSplitOrMergeEnabled => splitOrMergeEnabledSwitch

 * Renamed (with deprecation of old) runCatalogScan => runCatalogJanitor.
 * Reviewed generated javadoc and made some edits; purged reference to
   hbase issues from our API, fixed param names, etc.
 * Made all the enable services methods have same pattern.
 * Renamed takeSnapshotAsync as snapshotAsync (with deprecation of old)
 * Renamed execProcedureWithRet as execProcedureWithReturn (with
   deprecation)

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-13 17:19:25 -07:00
Michael Stack 8bbfc836db HBASE-18723 [pom cleanup] Do a pass with dependency:analyze; remove unused and explicity list the dependencies we exploit; ADDENDUM3 2017-09-13 14:55:42 -07:00
Reid Chan 5d6b20ad18 HBASE-18609 Apply ClusterStatus#getClusterStatus(EnumSet<Option>) in code base
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-14 00:54:16 +08:00
Guangxu Cheng 93f5624cb9 HBASE-18789 Displays the reporting interval of each RS on the Master page
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-13 05:51:18 -07:00
zhangduo e6e52cd80f HBASE-18793 Remove deprecated methods in RegionObserver 2017-09-13 11:33:03 +08: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
Abhishek Singh Chouhan 3df0351f22 HBASE-18771 Incorrect StoreFileRefresh leading to split and compaction failures
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-09-12 17:45:15 -07: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
Michael Stack a66bd04815 HBASE-18733 [compat 1-2] Hide WALKey 2017-09-12 13:12:14 -07:00
Guangxu Cheng cfdbdd2066 HBASE-18131 Add an hbase shell command to clear deadserver list in ServerManager
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-12 08:29:16 -07:00
Umesh Agashe 58bfa13075 HBASE-13271 Added test for batch operations with validation errors. Updated Javadoc for batch methods.
Javadoc for following methods are updated:
* Table.put(List<Put> puts)
* Table.delete(List<Delete> deletes)

Added @apiNote for delete regarding input list will not be modied in version 3.0.0

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-11 20:05:34 -07:00
Michael Stack d6db4a2d3d HBASE-16479 Move WALEdit from hbase.regionserver.wal package to hbase.wal package 2017-09-11 14:43:00 -07:00
Peter Somogyi cdc84fe818 HBASE-10240 Remove 0.94->0.96 migration code
Change-Id: I70cdbd1f1159ca923dc79221601e6190db2b4de1

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-11 12:07:46 -07:00
Yun Zhao 90c15bae8d HBASE-18662 The default values for many configuration items in the code are not consistent with hbase-default.xml
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-11 21:11:58 +08:00
Michael Stack 9a2e680cae HBASE-16478 Rename WALKey in PB to WALEdit This is a rebase of Enis's original patch 2017-09-10 21:58:51 -07:00
Chia-Ping Tsai 2359ef518a Revert "HBASE-18662 The default values for many configuration items in the code are not consistent with hbase-default.xml"
need more checks
This reverts commit 6035035707.
2017-09-09 22:54:38 +08:00
Yun Zhao 6035035707 HBASE-18662 The default values for many configuration items in the code are not consistent with hbase-default.xml
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-09 18:14:34 +08:00
Reid Chan 77ca743d09 HBASE-18621 Refactor ClusterOptions before applying to code base
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-09 03:31:28 +08:00
Biju Nair af21572427 HBASE-18641 Include block content verification logic used in lruCache in bucketCache
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-08 11:24:31 -07:00
Balazs Meszaros 359fed7b4b HBASE-18106 Redo ProcedureInfo and LockInfo
Main changes:
- ProcedureInfo and LockInfo were removed, we use JSON instead of them
- Procedure and LockedResource are their server side equivalent
- Procedure protobuf state_data became obsolate, it is only kept for
reading previously written WAL
- Procedure protobuf contains a state_message field, which stores the internal
state messages (Any type instead of bytes)
- Procedure.serializeStateData and deserializeStateData were changed slightly
- Procedures internal states are available on client side
- Procedures are displayed on web UI and in shell in the following jruby format:
  { ID => '1', PARENT_ID = '-1', PARAMETERS => [ ..extra state information.. ] }

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-08 10:24:04 -07:00
Chia-Ping Tsai 87c3ae9314 HBASE-18780 Remove HLogPrettyPrinter
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-08 10:20:20 -07:00
Michael Stack b8e0a8396f HBASE-18769 Make CompareFilter use generic CompareOperator instead of
internal enum
2017-09-08 10:06:56 -07:00
zhangduo 331910192a HBASE-18778 Use Comparator for StealJobQueue 2017-09-08 21:27:12 +08:00
Umesh Agashe 5847c901a7 HBASE-18543 [AMv2] Fixed and re-enabled TestMasterFailover
* testSimpleMasterFailover - fixed and verified
  * testPendingOpenOrCloseWhenMasterFailover - removed as logic is based on old code and no longer relevant. TestServerCrashProcedure tests assignments with crashing master and region servers
  * testMetaInTransitionWhenMasterFailover - verified that it is fixed by patch for HBASE-18511.

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-07 16:45:52 -07:00
Apekshit Sharma 6752eba68f HBASE-14997 Move compareOp and Comparators out of filter to client package
Add a new generic CompareOperator enum and use it instead of the filter
CompareOp enum everywhere BUT inside CompareFilter.
2017-09-07 10:03:45 -07:00
Guangxu Cheng 5ff04c5e7f HBASE-17972 Remove mergePool from CompactSplitThread
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-07 09:39:53 -07:00
Peter Somogyi 137b105c67 HBASE-18704 Upgrade hbase to commons-collections 4
Upgrade commons-collections:3.2.2 to commons-collections4:4.1
Add missing dependency for hbase-procedure, hbase-thrift
Replace CircularFifoBuffer with CircularFifoQueue in WALProcedureStore and TaskMonitor

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-07 10:30:01 -05:00