Commit Graph

6385 Commits

Author SHA1 Message Date
Gary Helmling 135bb5583b HBASE-19332 DumpReplicationQueues misreports total WAL size 2017-11-22 16:40:53 -08:00
Josh Elser 4e387a948f HBASE-19317 Set a high NodeManager max disk utilization if not already set
This avoids the situation where the build machine has sufficient disk
space (a few GB's at most) to run an HBase test, but the default YARN
configuration would preclude the NM's from starting correctly. This
should eliminate a trivial source of build flakiness based on the host
machines being used.

Signed-off-by: Ted Yu <tedyu@apache.org>
2017-11-22 17:23:53 -05:00
Michael Stack 3c24c6eda6
HBASE-19122 preCompact and preFlush can bypass by returning null scanner; shut it down
Removed TestHRegion#testMemstoreSizeWithFlushCanceling test.
CPs are not able to cancel a flush any more so this test was
failing; removed it (It was testing memory accounting kept
working across a cancelled flush).

Signed-off-by: Michael Stack <stack@apache.org>
2017-11-22 08:02:09 -08:00
zhangduo 9c29a6211b HBASE-19311 Promote TestAcidGuarantees to LargeTests and start mini cluster once to make it faster 2017-11-22 14:10:17 +08:00
Apekshit 8f0f820f22 HBASE-19291 Use common header and footer for JSP pages
Use header and footer in our *.jsp pages to avoid unnecessary redundancy (copy-paste of code)

Misc edits:
- Due to redundancy, new additions make it to some places but not others. For eg there are missing links to "/logLevel", "/processRS.jsp" in few places.
- Fix processMaster.jsp wrongly pointing to rs-status instead of master-status (probably due to copy paste from processRS.jsp)
- Deleted a bunch of extraneous "</a>" in processMaster.jsp & processRS.jsp
- Added missing </div> tag in snapshot.jsp
- Deleted fossils of html5shiv.js. It's uses and the js itself were deleted in the commit "819aed4ccd073d818bfef5931ec8d248bfae5f1f"
- Fixed wrongly matched heading tags
- Deleted some unused variables

Tested:
Ran standalone cluster and opened each page to make sure it looked right.

Sidenote:
Looks like HBASE-3835 started the work of converting from jsp to jamon, but the work didn't finish. Now we have a mix of jsp and jamon. Needs reconciling, but later.
2017-11-21 13:56:00 -08:00
Peter Somogyi bcd367e293
HBASE-19315 Incorrect snapshot version is used for 2.0.0-beta-1
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-21 10:41:50 -08:00
anoopsamjohn f7331f9ceb HBASE-19301 Provide way for CPs to create short circuited connection with custom configurations. 2017-11-21 19:06:39 +05:30
Guanghao Zhang c978f8ab23 HBASE-19293 Support add a disabled state replication peer directly 2017-11-21 15:37:33 +08:00
Michael Stack 719a935b9d
HBASE-19123 Purge 'complete' support from Coprocesor Observers 2017-11-20 22:19:06 -08:00
tedyu b554bbc65e HBASE-19288 Intermittent test failure in TestHStore.testRunDoubleMemStoreCompactors 2017-11-19 20:23:49 -08:00
Apekshit Sharma e0c4f374b5 HBASE-19114 Split out o.a.h.h.zookeeper from hbase-server and hbase-client
- Moved DrainingServerTracker and RegionServerTracker to hbase-server:o.a.h.h.master.
- Moved SplitOrMergeTracker to oahh.master (because it depends on a PB)
- Moving hbase-client:oahh.zookeeper.*  to hbase-zookeeper module.  After HBASE-19200, hbase-client doesn't need them anymore (except 3 classes).
- Renamed some classes to use a consistent naming for classes - ZK instead of mix of ZK, Zk , ZooKeeper. Couldn't rename following public classes: MiniZooKeeperCluster, ZooKeeperConnectionException. Left RecoverableZooKeeper for lack of better name. (suggestions?)
- Sadly, can't move tests out because they depend on HBaseTestingUtility (which defeats part of the purpose - trimming down hbase-server tests. We need to promote more use of mocks in our tests)
2017-11-17 13:23:28 -08:00
Guangxu Cheng 63b02a072a HBASE-19274 Log IOException when unable to determine the size of committed file
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-17 03:00:59 -08:00
huzheng 57291108ed HBASE-19252 Move the transform logic of FilterList into transformCell() method to avoid extra ref to question cell 2017-11-17 10:42:58 +08:00
Guanghao Zhang 8b30adb834 HBASE-18911 Unify Admin and AsyncAdmin's methods name 2017-11-17 09:50:41 +08:00
Michael Stack 9fecb3b2c8
HBASE-19268 Enable Replica tests that were disabled by Proc-V2 AM in HBASE-14614 2017-11-16 13:49:11 -08:00
Michael Stack 2c1ded5425 HBASE-19276 RegionPlan should correctly implement equals and hashCode
Andrew's patch that adds equals and hash but revamping compare also.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-11-16 13:27:52 -08:00
Umesh Agashe e9612e6c89
HBASE-18964 Deprecated RowProcessor and Region#processRowsWithLocks() methods that take RowProcessor as an argument
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-15 23:40:20 -08:00
Michael Stack 853ab2f943
HBASE-19270 Reenable TestRegionMergeTransactionOnCluster#testMergeWithReplicas disable by HBASE-14614 2017-11-15 23:38:07 -08:00
Michael Stack 99fbe73552
HBASE-18356 Enable TestFavoredStochasticBalancerPickers#testPickers that was disabled by Proc-V2 AM in HBASE-14614
Rebase/Fixup

Signed-off-by: Thiruvel Thirumoolan <thiruvel at yahoo-inc dot com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-15 23:36:23 -08:00
Michael Stack 8874890798
HBASE-19278 Reenable cleanup in test teardown in TestAccessController3 disabled by HBASE-14614
Remove a few unused imports.

Remove TestAsyncRegionAdminApi#testOffline, a test for a condition that
no longer exists (no offlining supported in hbase2).

M hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController3.java
 Uncomment cleanup called in test teardown.
2017-11-15 23:27:28 -08:00
zhangduo bc3542c0fb HBASE-19251 Merge RawAsyncTable and AsyncTable 2017-11-16 14:37:51 +08:00
Michael Stack e063b231da HBASE-18357 Enable disabled tests in TestHCM that were disabled by Proc-V2 AM in HBASE-14614
Restore testRegionCaching and testMulti to working state (required
fixing move procedure and looking for a new exception).

testClusterStatus is broke because multicast is broken.
2017-11-15 18:40:00 -08:00
Guanghao Zhang d885e2232d HBASE-19009 implement modifyTable and enable/disableTableReplication for AsyncAdmin 2017-11-16 07:19:34 +08:00
Sean Busbey 9c85d0017f HBASE-19248 Move tests that need to look at Connection internals to test of said internals.
Signed-off-by: zhangduo <zhangduo@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-15 08:40:03 -06:00
anoopsamjohn a1d86d90ba HBASE-19235 CoprocessorEnvironment should be exposed to CPs. 2017-11-15 14:51:04 +05:30
Umesh Agashe 7139113fde
HBASE-18963 Removed MultiRowMutationProcessor and modified mutateRows...() to use batchMutate() with atomic set to true 2017-11-14 21:45:01 -08:00
Lars Hofhansl 3d4fd90947 HBASE-12091 Optionally ignore edits for dropped tables for replication. 2017-11-14 17:16:56 -08:00
zhangduo ffb8c641d9 HBASE-19243 Start mini cluster once before class for TestFIFOCompactionPolicy 2017-11-14 15:40:30 +08:00
Andrew Purtell efe116f11a HBASE-19250 TestClientClusterStatus is flaky 2017-11-13 18:02:21 -08:00
Yi Liang 57aa6b32a2 HBASE-19237: TestMaster.testMasterOpsWhileSplitting fails
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-13 17:55:30 -08:00
Michael Stack 18e484c6c4 HBASE-18601: Update Htrace to 4.2; ADDENDUM; hack failing TestHTraceHooks test 2017-11-13 10:39:22 -08:00
Tamas Penzes 7a69ebc73e 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-13 10:38:36 -08:00
zhangduo 8a5273f38c HBASE-19241 Improve javadoc for AsyncAdmin and cleanup warnings for the implementation classes 2017-11-13 17:00:14 +08:00
Mike Drob cd681f26bc HBASE-19240 more error-prone results 2017-11-12 19:47:38 -06:00
Guanghao Zhang bc8048cf6c HBASE-19035 Miss metrics when coprocessor use region scanner to read data 2017-11-12 15:16:37 +08:00
anoopsamjohn 3ee76f8573 HBASE-19187 Remove option to create on heap bucket cache. 2017-11-11 12:41:09 +05:30
zhangduo 30f55f2316 HBASE-19200 Make hbase-client only depend on ZKAsyncRegistry and ZNodePaths
- Removes zookeeper connection from ClusterConnection
- Deletes class ZooKeeperKeepAliveConnection
- Removes Registry, ZooKeeperRegistry, and RegistryFactory
2017-11-10 10:09:04 -08:00
Michael Stack b41dae3149 HBASE-18423 Fix TestMetaWithReplicas 2017-11-09 15:00:53 -08:00
Guangxu Cheng b6b4cd40cd HBASE-19199 RatioBasedCompactionPolicy#shouldPerformMajorCompaction() always return true when only one file needs to compact
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-09 12:38:45 -08:00
Umesh Agashe 85227d6a72
HBASE-18962 Support atomic (all or none) BatchOperations through batchMutate()
Signed-off-by: Apekshit Sharma <appy@apache.org>
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-09 12:15:16 -08:00
Yi Liang 07b0ac4161 HBASE-19127: Set State.SPLITTING, MERGING, MERGING_NEW, SPLITTING_NEW properly in RegionStatesNode
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-09 11:34:53 -08:00
Michael Stack 0aafbe7aa9 HBASE-19165 TODO Handle stuck in transition: rit=OPENING, location=ve0538.... 2017-11-09 10:32:42 -08:00
Zach York 77e7c5ff27 HBASE-18624 Added support for clearing BlockCache based on tablename
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-09 04:03:35 +08:00
Mike Drob 0d4f33ca27 HBASE-19195 error-prone fixes for client, mr, and server 2017-11-08 12:04:46 -06:00
Apekshit Sharma a6d8023ff5 HBASE-19128 Purge Distributed Log Replay from codebase, configurations, text; mark the feature as unsupported, broken. 2017-11-07 17:48:52 -08:00
Umesh Agashe fa3cc6c3bc
HBASE-18961 doMiniBatchMutate() is split into smaller member methods of BatchOperation and it's sub-classes
There is no functionality change except for below:
* Variable lastIndexExclusive was getting incremented while locking rows corresponding to input
  operations. As a result when getRowLockInternal() method throws TimeoutIOException only operations
  in range [nextIndexToProcess, lastIndexExclusive) was getting marked as FAILED before raising
  exception up the call stack. With these changes all operations are getting marked as FAILED.
* Cluster Ids of first mutation is used consistently for entire batch. Previous behavior was to use
  cluster ids of first mutation in a mini-batch

Signed-off-by: Michael Stack <stack@apache.org>
2017-11-07 10:01:28 -08:00
QilinCao 1110910b3a HBASE-19103 Add BigDecimalComparator for filter
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-07 03:30:43 -08:00
Michael Stack 57c0fb2561 HBASE-19198 TestIPv6NIOServerSocketChannel fails; unable to bind 2017-11-06 21:21:06 -08:00
Michael Stack f13cf56f1c
HBASE-19197 Move version on branch-2 from 2.0.0-alpha4 to 2.0.0-beta-1.SNAPSHOT 2017-11-06 20:46:38 -08:00
Guanghao Zhang 40dac699bd HBASE-19186 Unify to use bytes to show size in master/rs ui 2017-11-07 10:07:52 +08:00
Josh Elser f4a4144f35 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:16 -05:00
Mike Drob cfddfcf23c HBASE-19160 expose CellComparator as IA.Public 2017-11-06 10:15:55 -06:00
Guanghao Zhang 47c614c706 HBASE-18950 Remove Optional parameters in AsyncAdmin interface 2017-11-06 20:41:20 +08:00
anastas 80a9bf0eb6 HBASE-18232 Jumbo Chunks support for the future CellChunkMap index usage 2017-11-05 15:29:48 +02:00
zhangduo 143e4949fe HBASE-19095 Add CP hooks in RegionObserver for in memory compaction 2017-11-05 20:28:11 +08:00
Mike Drob 33ae6dce42 HBASE-18983 fixes from update error-prone to 2.1.1 2017-11-04 21:29:48 -05:00
Chia-Ping Tsai d592b29619 HBASE-19131 Add the ClusterStatus hook and cleanup other hooks which can be replaced by ClusterStatus hook 2017-11-05 09:56:04 +08:00
Chia-Ping Tsai b464c1eb35 HBASE-19027 Honor the CellComparator of ScanInfo in scanning over a store 2017-11-05 01:17:55 +08:00
Michael Stack f8c58930aa
HBASE-19179 Remove hbase-prefix-tree 2017-11-04 10:09:46 -07:00
Chia-Ping Tsai cdff80d976 HBASE-19117 Avoid NPE occurring while active master dies 2017-11-04 21:49:15 +08:00
Michael Stack 0fb3bd2e3c
HBASE-19102 TestZooKeeperMainServer fails with KeeperException
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-03 11:48:53 -07:00
Sean Busbey a9f0c5d4e2 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:54:16 -05:00
churro 663f3c7b50 HBASE-19150 TestSnapshotWithAcl is flaky
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-11-01 18:17:50 -07:00
Apekshit Sharma d69570a485 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:38:50 -07:00
Reid Chan 8a3db6eaaf HBASE-17065 Perform more effective sorting for RPC Handler Tasks
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-01 10:07:34 -07:00
Chia-Ping Tsai 261cb8a7e4 HBASE-19141 [compat 1-2] getClusterStatus always return empty ClusterStatus
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-02 00:47:19 +08:00
tedyu 39e8c16fa8 HBASE-19120 IllegalArgumentException from ZNodeClearer when master shuts down 2017-11-01 09:38:41 -07:00
tedyu f66afa5227 HBASE-19065 HRegion#bulkLoadHFiles() should wait for concurrent Region#flush() to finish 2017-11-01 09:26:26 -07:00
tedyu fc4110a7a9 HBASE-19100 Missing break in catch block of InterruptedException in HRegion#waitForFlushesAndCompactions 2017-11-01 09:11:42 -07:00
eshcar 526d2826f5 HBASE-16417: In-memory MemStore Policy for Flattening and Compactions 2017-11-01 16:48:40 +02:00
Andrew Purtell 314759652f 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:55 -07:00
Michael Stack 16012f93a6 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 12:49:51 -07:00
zhangduo 9dfd77595f HBASE-19130 Typo in HStore.initializeRegionInternals for replaying wal 2017-10-31 21:21:57 +08:00
Guangxu Cheng 83f6f54424 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:37:55 -07:00
Andrew Purtell 47c3faee5d HBASE-19125 TestReplicator is flaky 2017-10-30 15:10:16 -07:00
zhangduo 15388d4e16 HBASE-19033 Allow CP users to change versions and TTL before opening StoreScanner 2017-10-29 21:53:49 +08:00
Peter Somogyi 0ad8a6f51b 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:17:41 +08:00
Michael Stack 817dc5644c
HBASE-19110 Add default for Server#isStopping & #getFileSystem 2017-10-28 10:41:50 -07:00
anoopsamjohn 52e3664680 HBASE-19047 CP exposed Scanner types should not extend Shipper. 2017-10-28 23:05:29 +05:30
Michael Stack 250a8bc7ad
HBASE-18995 Move methods that are for internal usage from CellUtil to Private util class (Ramkrishna Vasudevan) 2017-10-27 17:51:32 -07:00
anoopsamjohn 8e6d116ae3 HBASE-18906 Provide Region#waitForFlushes API. 2017-10-27 11:54:26 +05:30
zhangduo bdcdb5cf9a HBASE-18905 addendum fix hanging TestFlushLifeCycleTracker 2017-10-27 14:06:09 +08:00
Tamas Penzes fc581270a8 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:17:53 +05:30
Michael Stack 69e0054853 HBASE-19048 Cleanup MasterObserver hooks which takes IA private params 2017-10-26 00:02:24 -07:00
Ramkrishna 015db0a7aa HBASE-18994 Decide if META/System tables should use Compacting Memstore or
Default Memstore (Ram)
2017-10-26 10:46:20 +05:30
Peter Somogyi 5dadfdaa58
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:55:16 -07:00
tedyu 111380b647 HBASE-19065 HRegion#bulkLoadHFiles() should wait for concurrent Region#flush() to finish - revert, waiting for alpha4 to come out 2017-10-25 06:28:24 -07:00
zhangduo ca79a91566 HBASE-18905 Allow CPs to request flush on Region and know the completion of the requested flush 2017-10-25 20:45:53 +08:00
huzheng c2dbef1465 HBASE-19057 Fix other code review comments about FilterList improvement 2017-10-25 20:41:25 +08:00
huzheng 7a2da02e6d HBASE-18368 FilterList with multiple FamilyFilters concatenated by OR does not work
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-10-25 20:41:25 +08:00
huzheng f6dd5e8b64 HBASE-18879 HBase FilterList cause KeyOnlyFilter not work 2017-10-25 20:41:24 +08:00
huzheng aa23cca58a HBASE-18411 Dividing FiterList into two separate sub-classes: FilterListWithOR , FilterListWithAND
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-10-25 20:41:24 +08:00
huzheng 15eae6ac35 HBASE-18160 Fix incorrect logic in FilterList.filterKeyValue
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-10-25 20:41:24 +08:00
tedyu 47d8549cec HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT 2017-10-25 20:41:24 +08:00
huzheng 7237ecc3b3 HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-10-25 20:41:24 +08:00
Sean Busbey e6f61b997a HBASE-18410 disable the HBASE-18957 test until we can fix it on the feature branch. 2017-10-25 20:41:24 +08:00
Michael Stack 962d7e9bf0
BASE-19074 Miscellaneous Observer cleanups; ADDEDNUM to fix FindBugs 2017-10-24 22:40:30 -07:00
Michael Stack 1b49081ed2
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 22:00:43 -07:00
Chia-Ping Tsai f6ba8185ea HBASE-18754 (addendum) close the input resource 2017-10-25 12:36:56 +08:00
tedyu f887a5a3af HBASE-19065 HRegion#bulkLoadHFiles() should wait for concurrent Region#flush() to finish 2017-10-24 20:15:28 -07:00
Apekshit Sharma 3ce7ab3c70 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 20:00:31 -07:00
Michael Stack 60367b2a27 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:03:02 -07:00
Jerry He a49850e5c3 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:58:27 -07:00
Chia-Ping Tsai 2a28ff840e HBASE-18754 Get rid of Writable from TimeRangeTracker 2017-10-24 15:14:14 +08:00
Sreeram Venkatasubramanian 6ceb4a4f41 HBASE-16290 Dump summary of callQueue content; can help debugging
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-24 14:46:12 +08:00
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
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
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
tedyu be37515032 HBASE-19026 TestLockProcedure#testRemoteNamespaceLockRecovery fails 2017-10-19 11:12:26 -07: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
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
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
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 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
anoopsamjohn b212bf936e HBASE-18183 Region interface cleanup for CP expose. 2017-10-11 17:14:43 +05:30
zhangduo d5b76547f0 HBASE-18951 Use Builder pattern to remove nullable parameters for checkAndXXX methods in RawAsyncTable/AsyncTable interface 2017-10-10 14:41:27 +08:00
Peter Somogyi 294f6b7860 HBASE-18949 Remove the CompactionRequest parameter in preCompactSelection
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-10-10 09:42:03 +08:00
Sean Busbey 38e52bb29e 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:54:26 -05:00
Sean Busbey 1d07c8eec4 Revert "HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT"
This reverts commit 743f3ae221.

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:54:20 -05:00
Sean Busbey 2dcdd13a01 Revert "HBASE-18160 Fix incorrect logic in FilterList.filterKeyValue"
This reverts commit 7c2622baf7.

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:54:15 -05:00
Peter Somogyi 08aea43472 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:53:20 -05:00
Chia-Ping Tsai 13a53811de HBASE-18752 Recalculate the TimeRange in flushing snapshot to store file 2017-10-09 17:22:19 +08:00
Jan Hentschel 496fcda1d9
HBASE-18958 Removed the IS annotation from SpaceLimitingException
Signed-off-by: Michael Stack <stack@apache.org>
2017-10-08 17:22:36 -07:00
Michael Stack 6e772096ad
HBASE-18788 NPE when running TestSerialReplication (Fabrice Monnier) 2017-10-08 17:08:24 -07:00
Guangxu Cheng 9ae2750588 HBASE-18899 Make Fileinfo more readable in HFilePrettyPrinter
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-10-08 03:27:38 +08:00
Maytee Chinavanichkit 9cd7619b5c 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:51:02 +08:00
Guanghao Zhang 8e5d88366d HBASE-18909 Deprecate Admin's methods which used String regex 2017-10-07 21:23:19 +08:00
Apekshit Sharma 101079b5da HBASE-18931 Make ObserverContext an interface.
Change-Id: I9284a3271e06a3ee8ab9719cf012a4d8b3a82c88
2017-10-05 23:43:50 -07:00
zhangduo d15549738a 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:59:13 -07:00
Chia-Ping Tsai 2a5b6bc681 HBASE-18927 Add the DataType which is subset of KeyValue#Type to CellBuilder for building cell 2017-10-04 23:45:57 +08:00
Sean Busbey 35094bf4d5 HBASE-18933 set version number to 2.0.0-alpha4-SNAPSHOT following release of alpha3 2017-10-04 07:57:49 -05:00
Peter Somogyi d3a817f212
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:53:32 -07:00
Ramkrishna 3318e8724e HBASE-18490 Modifying a table descriptor to enable replicas does not
create replica regions (Ram)
2017-10-03 13:16:00 +05:30
libisthanks 0db82daa91 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:34 -07:00
Michael Stack 24e40f3e85 HBASE-18105 [AMv2] Split/Merge need cleanup; currently they diverge and do not fully embrace AMv2 world (Yi Liang) 2017-10-02 11:38:57 -07:00
Chia-Ping Tsai e047f518ef HBASE-18897 Substitute MemStore for Memstore 2017-10-02 21:10:11 +08:00
Chia-Ping Tsai 2cc1ea3d2e HBASE-18753 Introduce the unsynchronized TimeRangeTracker 2017-10-01 21:38:05 +08:00
anastas 445c5bd7b7 HBASE-18010: CellChunkMap integration into CompactingMemStore, merge to Release 2.0, add new files 2017-10-01 16:22:34 +03:00
anastas 95405fbd83 HBASE-18010: CellChunkMap integration into CompactingMemStore, merge to Release 2.0 2017-10-01 11:01:10 +03:00
libisthanks 7ee44a820f HBASE-18090 Improve TableSnapshotInputFormat to allow more multiple mappers per region
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-09-30 02:11:22 -07:00
Ashu Pachauri c256532ce3 Revert "HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region" due to wrong jira id.
This reverts commit 55987efdcf.
2017-09-30 02:00:16 -07:00
libisthanks 55987efdcf HBASE-18814 Improve TableSnapshotInputFormat to allow more multiple mappers per region
Signed-off-by: Ashu Pachauri <ashu@apache.org>
2017-09-29 16:21:51 -07:00
Andrew Purtell 5917ad4c0c HBASE-18436 Add client-side hedged read metrics (Yun Zhao) 2017-09-29 15:36:42 -07:00
zhangduo 2e4c1b6288 HBASE-18845 TestReplicationSmallTests fails after HBASE-14004 2017-09-29 14:32:33 +08:00
Andy Yang 0658252ed6 HBASE-13844 Move static helper methods from KeyValue into CellUtils
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-29 13:20:24 +08:00
Apekshit Sharma a6a303816c 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:33:30 -07:00
Chia-Ping Tsai 6693f45faf HBASE-18839 Apply RegionInfo to code base 2017-09-28 20:19:41 +08:00
zhangduo d26b8f8ddd HBASE-18826 Use HStore instead of Store in our own code base and remove unnecessary methods in Store interface 2017-09-28 15:41:56 +08:00
Ramkrishna f73a3a6fb7 HBASE-18888 StealJobQueue should call super() to init the
PriorityBlockingQueue (Ram)
2017-09-28 10:39:18 +05:30
Apekshit Sharma 0c883a23c5 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:45:51 -07:00
anoopsamjohn 0fcc84cadd HBASE-18298 RegionServerServices Interface cleanup for CP expose. 2017-09-27 11:02:57 +05:30
Andrew Purtell ede916af5a 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 6d0eb0eef0 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:58 -07:00
Michael Stack 2fee188156 HBASE-18859 Purge PB from BulkLoadObserver
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-25 21:14:59 -07:00
anoopsamjohn b6863d867d HBASE-16769 Deprecate/remove PB references from MasterObserver and RegionServerObserver 2017-09-26 09:30:59 +05:30
Michael Stack a8e8cf6e16 HBASE-18652 Expose individual cache stats in a CombinedCache through JMX (Biju Nair); ADDENDUM 2017-09-25 20:58:30 -07:00
huzheng 7c2622baf7 HBASE-18160 Fix incorrect logic in FilterList.filterKeyValue
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-09-26 11:23:38 +08:00
Chinmay Kulkarni 3e1ceadc80 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:44 -07:00
Chinmay Kulkarni b565a21480 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:42 -07:00
Andrew Purtell fa0b0934db Amend HBASE-18786 FileNotFoundException should not be silently handled for primary region replicas
Remove now invalid unit test TestCorruptedRegionStoreFile
2017-09-25 17:36:41 -07:00
zhangduo 06d8a23531 HBASE-18825 Use HStoreFile instead of StoreFile in our own code base and remove unnecessary methods in StoreFile interface 2017-09-25 09:48:33 +08:00
Josh Elser 40a73c9be5 HBASE-18807 Remove protobuf references from CP quota API calls 2017-09-23 21:28:58 -04:00
Andrew Purtell 60741ba0a4 HBASE-18786 FileNotFoundException should not be silently handled for primary region replicas 2017-09-22 12:40:34 -07:00
Andrew Purtell a9fcd95860 HBASE-18813 TestCanaryTool fails on branch-1 / branch-1.4
Disable units where argument matching is intermittently failing
2017-09-22 09:48:02 -07:00
Chia-Ping Tsai 0eab16fde4 HBASE-18823 Apply RegionInfo to MasterObserver/RegionObserver/WALObserver
Change-Id: I3f2faab96bf3aa3e033b9472e09cd0becf2e272c
2017-09-20 18:49:46 -07:00
Michael Stack e294dcd80d 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:36:47 -07:00
Zach York d0a54352e8 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 16:31:00 -07:00
Abhishek Singh Chouhan 518674bce6 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 83e9188d0c 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:53:55 -05:00
Chia-Ping Tsai 2aa10cb651 HBASE-18798 Remove the unused methods in RegionServerObserver 2017-09-18 09:49:38 +08:00
Michael Stack a1b6dd22e9 HBASE-18831 Add explicit dependency on javax.el
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-16 10:38:17 -07:00
zhangduo a5c8461ca8 HBASE-18446 Mark StoreFileScanner/StoreFileReader as IA.LimitedPrivate(Phoenix) 2017-09-15 20:36:55 +08:00
zhangduo d90f77ab7d 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:05 +08:00
Yechao Chen 848e9d5abc HBASE-18772 (Addendum) we pass the wrong arguments to AdaptiveLifoCoDelCallQueue
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-15 10:32:32 +08:00
Chia-Ping Tsai 296bb00540 HBASE-18766 Make TableSnapshotScanner Audience Private
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-14 14:30:28 -07:00
brandboat 42bdd665ae HBASE-17980 Any HRegionInfo we give out should be immutable
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-14 14:25:58 -07:00
Michael Stack 7660f9e86a HBASE-18819 Set version number to 2.0.0-alpha3 from 2.0.0-alpha3-SNAPSHOT 2017-09-14 12:38:46 -07:00
Michael Stack 5cb11bc3f7 HBASE-18818 TestConnectionImplemenation fails 2017-09-14 12:30:21 -07:00
Peter Somogyi d7824f739d 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:40:34 -07:00
Reid Chan 42f140d9fb HBASE-18801 Bulk load cleanup may falsely deem file deletion successful
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-14 08:10:18 -07:00
zhangduo 46d993b0ae HBASE-18453 CompactionRequest should not be exposed to user directly 2017-09-14 20:37:46 +08:00
Chia-Ping Tsai 58e3b18ec0 HBASE-18794 Remove deprecated methods in MasterObserver 2017-09-14 15:14:34 +08:00
Michael Stack b200c964ac HBASE-18772 [JDK8] Replace AtomicLong with LongAdder; ADDENDUM -- disable broke test 2017-09-13 23:25:24 -07:00
Michael Stack 274bbb64c6 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:56 -07:00
Michael Stack 62db6bf1a4 HBASE-18723 [pom cleanup] Do a pass with dependency:analyze; remove unused and explicity list the dependencies we exploit; ADDENDUM3 2017-09-13 14:56:25 -07:00
Reid Chan dc1db8c5b3 HBASE-18609 Apply ClusterStatus#getClusterStatus(EnumSet<Option>) in code base
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-14 01:00:19 +08:00
Guangxu Cheng 5370aed410 HBASE-18789 Displays the reporting interval of each RS on the Master page
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-13 05:53:16 -07:00
Sean Busbey d576e5a32d HBASE-17823 Migrate to Apache Yetus Audience Annotations
Includes partial backport of hbase-build-configuration module

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Misty Stanley-Jones <misty@apache.org>
2017-09-12 23:15:50 -05:00
zhangduo a977055ecd HBASE-18793 Remove deprecated methods in RegionObserver 2017-09-13 11:33:07 +08:00
Abhishek Singh Chouhan a797fe0daa HBASE-18771 Incorrect StoreFileRefresh leading to split and compaction failures
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-09-12 17:45:26 -07:00
Yechao Chen 0501855bc7 HBASE-18772 [JDK8] Replace AtomicLong with LongAdder
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-13 06:17:14 +08:00
Michael Stack 41ff7d4c6b HBASE-18733 [compat 1-2] Hide WALKey 2017-09-12 13:13:05 -07:00
Guangxu Cheng c75bb7424e HBASE-18131 Add an hbase shell command to clear deadserver list in ServerManager
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-12 09:25:57 -07:00
Umesh Agashe a11a17825a 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:06:10 -07:00
Michael Stack 1d278d3de6 HBASE-16479 Move WALEdit from hbase.regionserver.wal package to hbase.wal package 2017-09-11 14:42:35 -07:00
Peter Somogyi 8172251a9d HBASE-10240 Remove 0.94->0.96 migration code
Change-Id: I70cdbd1f1159ca923dc79221601e6190db2b4de1

Signed-off-by: Michael Stack <stack@apache.org>
2017-09-11 12:08:20 -07:00
Yun Zhao 7af0c44af3 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:12:11 +08:00
Michael Stack 32192c9610 HBASE-16478 Rename WALKey in PB to WALEdit This is a rebase of Enis's original patch 2017-09-10 21:59:20 -07:00
Chia-Ping Tsai 1ee4923730 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 89f978beb8.
2017-09-09 22:55:33 +08:00
Yun Zhao 89f978beb8 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:11:14 +08:00
Reid Chan 6970c1e9eb HBASE-18621 Refactor ClusterOptions before applying to code base
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-09-09 03:38:42 +08:00
Balazs Meszaros c48dc02b76 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 11:56:28 -07:00
Biju Nair 9a50203679 HBASE-18641 Include block content verification logic used in lruCache in bucketCache
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-08 11:25:22 -07:00
Chia-Ping Tsai 84ec18eb45 HBASE-18780 Remove HLogPrettyPrinter
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-08 10:22:18 -07:00
Michael Stack 7f70b6c8e3 HBASE-18769 Make CompareFilter use generic CompareOperator instead of
internal enum
2017-09-08 10:05:51 -07:00
zhangduo 4ad47ccd93 HBASE-18778 Use Comparator for StealJobQueue 2017-09-08 21:27:19 +08:00
Umesh Agashe baecf33ea6 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:46:22 -07:00
Apekshit Sharma 56cba5e450 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 11:03:22 -07:00
Guangxu Cheng db9994c669 HBASE-17972 Remove mergePool from CompactSplitThread
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-07 09:40:22 -07:00
Peter Somogyi 33711fd481 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>
(cherry picked from commit 137b105c67)
2017-09-07 10:39:13 -05:00
tedyu 743f3ae221 HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT 2017-09-07 08:15:29 -07:00
Michael Stack 7592cb8d34 HBASE-18768 Move TestTableName to hbase-common from hbase-server
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-06 18:12:14 -07:00
anastas 68ec2a9da0 HBASE-18375: Fix the bug where the pool chunks from ChunkCreator are deallocated and not returned to pool, because there is no reference to them 2017-09-06 18:48:53 +03:00
Chia-Ping Tsai f0c1cd50c2 HBASE-18749 Apply the CF specific TimeRange from Scan to filter the segment scanner 2017-09-06 20:01:10 +08:00
Zach York cd1b964bb7 HBASE-18757 Fix improper bitwise & in bucketcache offset calculation
This correctly casts the operand to a long to avoid negative offsets created by sign extending the integer operand.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-05 14:13:50 -07:00
Biju Nair 7e1517545c HBASE-18737 Display configured max size of memstore and cache on RS UI
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-05 13:02:49 -07:00
Umesh Agashe bd219c0fb8 HBASE-18674 upgrading to commons-lang3
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-05 09:46:49 -07:00
Biju Nair 5c1246296f HBASE-18652 Expose individual cache stats in a CombinedCache through JMX
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-05 08:14:52 -07:00
Michael Stack 48bc132e12 HBASE-18723 [pom cleanup] Do a pass with dependency:analyze; remove unused and explicity list the dependencies we exploit; ADDENDUM2
Plug more holes. REST can't find JspC when it runs its antrun task.
hbase-it didn't include reference to hbase-protocol-shaded
2017-09-04 21:14:21 -07:00
Michael Stack e778fbc059 HBASE-18736 Cleanup the HTD/HCD for Admin; ADDENDUM 2017-09-04 21:11:10 -07:00
Chia-Ping Tsai 0e01544838 HBASE-18736 Cleanup the HTD/HCD for Admin 2017-09-04 17:02:28 +08:00
tedyu c762753b4b HBASE-18743 HFiles in use by a table which has the same name and namespace with a default table cloned from snapshot may be deleted when that snapshot and default table are deleted (wenbang) 2017-09-03 07:11:16 -07:00
zhangduo a37417c254 HBASE-18699 Copy LoadIncrementalHFiles to another package and mark the old one as deprecated 2017-09-03 19:49:47 +08:00
Michael Stack 43c4bc5761 HBASE-18723 [pom cleanup] Do a pass with dependency:analyze; remove unused and explicity list the dependencies we exploit
Do a pass with dependency:analyze; remove unused and
explicity list the dependencies we exploit.
Remove the parent dependencies set which had junit, mockito,
log4j, and findbugs annotations (had to put junit back
temporarily in subsequent version of this patch TODO). Listing in
parent set meant these libs were dependencies for all modules
which in practice was not the case. Edited all modules so
those that need any from this parent set now do explicit listing.

Ran the dependency:analyze over the project. Acted on most
suggested removals and requests for explicit listing. Some
grey areas remain around transitives that come in with
hadoop -needs better excludes, another project- and that
the dependency:analyze tool is not always accurate in its
reporting.
2017-09-01 08:03:35 -07:00