6346 Commits

Author SHA1 Message Date
Josh Elser
2a99b87af2 HBASE-19111 Add CellUtil#isPut and deprecate methods returning/expecting non public-api data
KeyValue.Type, and its corresponding byte value, are not public API. We
shouldn't have methods that are expecting them. Added a basic sanity
test for isPut and isDelete.

Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
2017-11-06 15:37:12 -05:00
Mike Drob
9ee8e2714d HBASE-19160 expose CellComparator as IA.Public 2017-11-06 10:08:14 -06:00
Guanghao Zhang
888f2335c9 HBASE-18950 Remove Optional parameters in AsyncAdmin interface 2017-11-06 20:30:59 +08:00
zhangduo
28cdf4afb8 HBASE-19095 Add CP hooks in RegionObserver for in memory compaction 2017-11-05 20:28:05 +08:00
Mike Drob
3a0f59d031 HBASE-18983 update error-prone to 2.1.1 2017-11-04 21:28:52 -05:00
Chia-Ping Tsai
2085958216 HBASE-19131 Add the ClusterStatus hook and cleanup other hooks which can be replaced by ClusterStatus hook 2017-11-05 09:56:20 +08:00
Chia-Ping Tsai
35a2b8e53c HBASE-19027 Honor the CellComparator of ScanInfo in scanning over a store 2017-11-05 01:25:58 +08:00
Michael Stack
f812218ffe
HBASE-19179 Remove hbase-prefix-tree 2017-11-04 10:11:13 -07:00
Chia-Ping Tsai
22b07e91d7 HBASE-19117 Avoid NPE occurring while active master dies 2017-11-04 21:54:45 +08:00
Michael Stack
4985e27307
HBASE-19102 TestZooKeeperMainServer fails with KeeperException
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-03 11:48:25 -07:00
Sean Busbey
e79a007dd9 HBASE-18784 if available, query underlying outputstream capabilities where we need hflush/hsync.
* pull things that don't rely on HDFS in hbase-server/FSUtils into hbase-common/CommonFSUtils
* refactor setStoragePolicy so that it can move into hbase-common/CommonFSUtils, as a side effect update it for Hadoop 2.8,3.0+
* refactor WALProcedureStore so that it handles its own FS interactions
* add a reflection-based lookup of stream capabilities
* call said lookup in places where we make WALs to make sure hflush/hsync is available.
* javadoc / checkstyle cleanup on changes as flagged by yetus

Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-02 21:29:20 -05:00
churro
8d1e6a3e23 HBASE-19150 TestSnapshotWithAcl is flaky
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-11-01 18:22:01 -07:00
Apekshit Sharma
71a55dcd64 HBASE-18925 Update mockito dependency from mockito-all:1.10.19 to mockito-core:2.1.0 for JDK8 support.
Last mockito-all release was in Dec'14. Mockito-core has had many releases since then.

From mockito's site:
- "Mockito does not produce the mockito-all artifact anymore ; this one was primarily
aimed at ant users, and contained other dependencies. We felt it was time to move on
and remove such artifacts as they cause problems in dependency management system like
maven or gradle."
- anyX() and any(SomeType.class) matchers now reject nulls and check type.
2017-11-01 14:21:38 -07:00
Reid Chan
5e16e23fad HBASE-17065 Perform more effective sorting for RPC Handler Tasks
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-01 10:06:40 -07:00
Chia-Ping Tsai
2d0da40fff HBASE-19141 [compat 1-2] getClusterStatus always return empty ClusterStatus
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-02 00:56:37 +08:00
tedyu
f10f4eb121 HBASE-19120 IllegalArgumentException from ZNodeClearer when master shuts down 2017-11-01 09:38:10 -07:00
eshcar
17e7aff37e HBASE-16417: In-memory MemStore Policy for Flattening and Compactions 2017-11-01 09:26:00 +02:00
Andrew Purtell
9382f391c8 HBASE-19138 Rare failure in TestLruBlockCache
Wait for the block count to drop to zero after awaiting shutdown of the executor pool
2017-10-31 13:40:56 -07:00
Michael Stack
8237fdbd1b HBASE-18770 Remove bypass method in ObserverContext and implement the
'bypass' logic case by case

Changes Coprocessor ObserverContext 'bypass' semantic. We flip the
default so bypass is NOT supported on Observer invocations; only a
couple of preXXX methods in RegionObserver allow it: e.g.  preGet
and prePut but not preFlush, etc. Everywhere else, we throw
a DoesNotSupportBypassException if a Coprocessor Observer
tries to invoke bypass. Master Observers can no longer stop
or change move, split, assign, create table, etc.

Ditto on complete, the mechanism that allowed a Coprocessor
rule that all subsequent Coprocessors are skipped in an
invocation chain; now, complete is only available to
bypassable methods (and Coprocessors will get an exception if
they try to 'complete' when it is not allowed).

See javadoc for whether a Coprocessor Observer method supports
'bypass'. If no mention, 'bypass' is NOT supported.

M hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/CoprocessorHost.java
 Added passing of 'bypassable' (and 'completable') and default 'result' argument to
 the Operation constructors rather than pass the excecution engine as parameters.
 Makes it so can clean up RegionObserverHost and make the calling
 clearer regards what is going on.
 Methods that support 'bypass' must set this flag on the Observer.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
 Refactoring in here is minor. A few methods that used support bypass
 no longer do so removed the check and the need of an if/else meant a
 left-shift in some code.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
 Ditto

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java
 In here label explicitly those methods that are bypassable.
 Some changes to make sure we call the corresponding execOperation.

TestMasterObserver had a bunch of test of bypass method. All removed or
disabled.

TODO: What to do w/ the Scanner methods.
2017-10-31 09:52:20 -07:00
tedyu
63ad16af0c HBASE-19100 Missing break in catch block of InterruptedException in HRegion#waitForFlushesAndCompactions 2017-10-31 08:17:57 -07:00
zhangduo
bbb7e1924d HBASE-19130 Typo in HStore.initializeRegionInternals for replaying wal 2017-10-31 21:21:52 +08:00
anastas
2f29bbb373 HBASE-18232: Support Jumbo Chunks for CellChunkMap 2017-10-31 14:42:52 +02:00
Guangxu Cheng
5000652e5e HBASE-19087 Logs should have Optional's value/null instead of Optional[value]/Optional.empty.
Change-Id: I436d02ee91710442d199e63956186a9364852c4e
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-10-30 18:32:02 -07:00
Andrew Purtell
14368c432a HBASE-19125 TestReplicator is flaky 2017-10-30 15:07:31 -07:00
zhangduo
e0a530e714 HBASE-19033 Allow CP users to change versions and TTL before opening StoreScanner 2017-10-29 21:53:11 +08:00
Peter Somogyi
482d6bd3a4 HBASE-19031 Align exist method in Table and AsyncTable interfaces
Deprecate Table::existsAll method and add Table::exists.
RemoteHTable already had a deprecated exists method, remove that
and implement the new exists from Table interface.

Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-29 07:11:27 +08:00
Michael Stack
e5e2bde87b
HBASE-19110 Add default for Server#isStopping & #getFileSystem 2017-10-28 10:41:10 -07:00
anoopsamjohn
afcaa8747f HBASE-19047 CP exposed Scanner types should not extend Shipper. 2017-10-28 23:03:56 +05:30
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
anoopsamjohn
15b32460f9 HBASE-18906 Provide Region#waitForFlushes API. 2017-10-27 11:53:25 +05:30
zhangduo
090c10f2a4 HBASE-18905 addendum fix hanging TestFlushLifeCycleTracker 2017-10-27 14:05:16 +08:00
Tamas Penzes
82b1c320f0 HBASE-13346: Clean up Filter package for post 1.0 s/KeyValue/Cell/g
Added filterCell method to Filter, it calls filterKeyValue by default
Deprecated filterKeyValue in Filter, bud added default functionality to return Filter.ReturnCode.INCLUDE.
Added filterKeyValue (calling filterCell) to Filters extending FilterBase to be backward compatible.
renamed filterKeyValue to filterCell in all implementations
changed all internal calls to use filterCell instead of filterKeyValue
changed tests too

This way the change is simple and backward compatible.
Any existing custom filter should work since they override filterKeyValue
and the implementation is called by Filter.filterCell.

Moved FilterWrapper to hbase-server

Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-10-27 11:16:13 +05:30
Apekshit Sharma
660ead0118 HBASE-18905 (addendum) Ignore broken test TestFlushLifeCycleTracker.
Change-Id: I2f139bb76bc5ec1af53d0bd485e5d038e16b3235
2017-10-26 16:24:23 -07:00
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