Commit Graph

6858 Commits

Author SHA1 Message Date
tedyu 11467ef111 HBASE-19394 Support multi-homing env for the publication of RS status with multicast (hbase.status.published) (Toshihiro Suzuki) 2017-12-12 07:38:15 -08:00
zhangduo 2e813f106f HBASE-19493 Make TestWALMonotonicallyIncreasingSeqId also work with AsyncFSWAL 2017-12-12 20:56:58 +08:00
zhangduo 856ee283fa
HBASE-19371 Running WALPerformanceEvaluation against asyncfswal throws exceptions
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-11 13:38:02 -08:00
Vasudevan eb67ee0d0f HBASE-19485 Minor improvement to TestCompactedHFilesDischarger (Ram)
Signed off by : Ted Yu <yuzhihong@gmail.com>
2017-12-11 22:53:46 +05:30
Jan Hentschel c98bab51de HBASE-17425 Fixed deprecated calls in TestUpdateConfiguration 2017-12-09 14:42:43 +01:00
Guanghao Zhang e880946f53 HBASE-19463 Make CPEnv#getConnection return a facade that throws Unsupported if CP calls #close 2017-12-09 20:20:18 +08:00
Apekshit Sharma 7092b814bd HBASE-19457 Debugging flaky TestTruncateTableProcedure
- Adds debug logging for future ease
- Removes 60s timeout since testRecoveryAndDoubleExecutionPreserveSplits is only halfway after a minute.
- Adds some comments
- Logging change: Some places report "regionState=" while others just "state=".
  State machine procs also have "state=" in their logs. Let me change all region related logging to "regionState=" so that
  1) it's consistent everywhere, 2) more filtered results when searching through logs.
2017-12-08 17:25:16 -08:00
Michael Stack a5a77ae3d5
HBASE-19134 Make WALKey an Interface; expose Read-Only version to CPs
Created a new WALKey Interface and a WALKeyImpl. The WALKey Interface
is surfaced to Coprocessors and throughout most of the code base.
WALKeyImpl is used internally by WAL and by Replication which need
access to WALKey setters.

Methods that were deprecated in WALObserver because they were exposing
Private audience Classes have been undeprecated now we have WALKey.

Moved over to use SequenceId#getSequenceId throughout. Changed
SequenceId#getSequenceId removing the IOE.
2017-12-08 15:12:31 -08:00
Apekshit Sharma 033e64a8b1 HBASE-19454 Debugging TestDistributedLogSplitting#testThreeRSAbort
- Changed testThreeRSAbort to kill the RSs intead of aborting. Simple aborting will close the regions, we want extreme failure testing here.
- Adds some logging for easier debugging.
- Refactors TestDistributedLogSplitting to use standard junit rules.
2017-12-07 19:03:52 -08:00
Michael Stack 66db0006eb
HBASE-19349 Introduce wrong version depencency of servlet-api jar
Move the hadoop-hdfs guava exclude in modules up to the top pom.
Looks like an exclude in a module is not additive but rather exclusive
blanking out the top level set of exclusions.

Tested by looking in lib dir of the built tarball.
2017-12-07 17:50:30 -08:00
huaxiangsun 428e5672e7 HBASE-19163 Maximum lock count exceeded from region server's batch processing
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-07 13:57:22 -08:00
Zach York f55e81e6c0 HBASE-19435 Reopen Files for ClosedChannelException in BucketCache
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-07 10:52:55 -08:00
BELUGA BEHR 638433358b HBASE-19448 Replace StringBuffer with StringBuilder for hbase-server
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-07 22:45:50 +08:00
Michael Stack f90420b3a5
HBASE-19301 Provide way for CPs to create short circuited connection
with custom configurations; ADDENDUM -- adds warning to powerful new,

Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-12-07 06:37:00 -08:00
Chia-Ping Tsai 464e4e8058 HBASE-12444 Total number of requests overflow because it's int 2017-12-07 18:39:12 +08:00
anoopsamjohn ba4f9f8349 HBASE-19357 Bucket cache no longer L2 for LRU cache. 2017-12-07 15:03:53 +05:30
Chia-Ping Tsai d2b1578b73 HBASE-19430 Remove the SettableTimestamp and SettableSequenceId 2017-12-07 13:28:02 +08:00
Andrew Purtell 97d17ae195 HBASE-19447 INFO level logging of GetClusterStatus from HMaster is too chatty 2017-12-06 17:06:34 -08:00
Michael Stack 4a2e8b852d HBASE-19295 The Configuration returned by CPEnv should be read-only.
Adds a ReadOnlyConfiguration that delegates gets but throws exception
on sets/adds, etc.
2017-12-06 15:18:09 -08:00
Michael Stack 00750fe79a
HBASE-15628 Implement an AsyncOutputStream which can work with any FileSystem implementation; ADDENDUM -- Change Log output 2017-12-06 11:35:54 -08:00
TAK LON WU eabad8a91c HBASE-19023 Replace hbase-server with hbase-mapreduce for HBase and MapReduce chapter
RowCounter and other related HBase's MapReduce classes have been moved
to hbase-mapreduce component by HBASE-18640, related chapter was
out-of-date and this fix replaced hbase-server with hbase-mapreduce
to correct those commands

Also this change moved RowCounter_Counters.properties to
hbase-mapreduce package as well

JIRA https://issues.apache.org/jira/browse/HBASE-19023

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-06 09:01:19 -08:00
tedyu 27ed4d8add HBASE-19417 Remove boolean return value from postBulkLoadHFile hook 2017-12-06 07:06:28 -08:00
Chia-Ping Tsai ebd8841e0e HBASE-18112 (addendum) fix the out-of-bounds index 2017-12-06 21:54:45 +08:00
zhangduo 75cdbb5700 HBASE-19410 Move zookeeper related UTs to hbase-zookeeper and mark them as ZKTests 2017-12-06 16:38:34 +08:00
anoopsamjohn d107e33fcd Revert "HBASE-19357 Bucket cache no longer L2 for LRU cache."
This reverts commit d34e30cad3.
2017-12-06 11:37:09 +05:30
anoopsamjohn d34e30cad3 HBASE-19357 Bucket cache no longer L2 for LRU cache. 2017-12-06 11:25:08 +05:30
Michael Stack ed60e4518d
HBASE-19323 Make netty engine default in hbase2 2017-12-05 15:29:29 -08:00
Michael Stack 8e3714e772
HBASE-19426 Move has() and setTimestamp() to Mutation (Chia-Ping Tsai)
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-05 09:40:55 -08:00
Michael Stack 1856237e2d HBASE-19384 Results returned by preAppend hook in a coprocessor are replaced with
null from other coprocessor even on bypass

If 'bypass' is set by a Coprocessor, skip out on calling any subsequent
Coprocessors that might be chained to a bypassable method.

This patch restores some of the 'complete' behavior removed by
HBASE-19123 only 'bypass' now triggers 'complete'.
2017-12-05 08:06:41 -08:00
Ted Yu 3c02d9681b HBASE-19056 TestCompactionInDeadRegionServer is top of the flakies charts!
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-12-04 14:12:59 +08:00
zhangduo 7a5b078306 HBASE-19399 Purge curator dependency from hbase-client 2017-12-03 08:30:30 +08:00
Chia-Ping Tsai fa9ab3955c HBASE-19408 Remove WALActionsListener.Base 2017-12-03 01:05:10 +08:00
Chia-Ping Tsai be4f158afd HBASE-19339 Eager policy results in the negative size of memstore 2017-12-03 00:53:36 +08:00
Guanghao Zhang d6a4a3dc33 HBASE-19396 Fix flaky test TestHTableMultiplexerFlushCache 2017-12-02 20:12:38 +08:00
Andrew Purtell c0da74f7c1 HBASE-19406 Fix CompactionRequest equals and hashCode 2017-12-01 19:15:11 -08:00
Josh Elser 835d15bf97 HBASE-19285 Implements table-level latency histograms
For a egionserver's view of a table (the regions
that belong to a table hosted on a regionserver),
this change tracks the latencies of operations that
affect the regions for this table.

Tracking at the per-table level avoids the memory bloat
and performance impact that accompanied the previous
per-region latency metrics while still providing important
details for operators to consume.

Signed-Off-By: Andrew Purtell <apurtell@apache.org>
2017-12-01 17:46:09 -05:00
Michael Stack 2e8bd0036d HBASE-19392 TestReplicaWithCluster#testReplicaGetWithPrimaryAndMetaDown failure in master
Signed-off-by: Huaxiang Sun <hsun@apache.org>
2017-11-30 22:45:39 -08:00
zhangduo 49a9fe4883 HBASE-19344 improve asyncWAL by using Independent thread for netty #IO in FanOutOneBlockAsyncDFSOutput 2017-12-01 11:19:03 +08:00
Guangxu Cheng cc3f804b07
HBASE-19326 Remove decommissioned servers from rsgroup
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-30 16:10:28 -08:00
Harshal Deepakkumar Jain e0dd26de8e HBASE-19388 - Incorrect value is being set for Compaction Pressure in RegionLoadStats object inside HRegion class
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-30 08:47:23 -08:00
Toshihiro Suzuki 9692b61a0a HBASE-18112 Write RequestTooBigException back to client for NettyRpcServer
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-11-30 17:06:34 +08:00
zhangduo 9434d52c19 HBASE-19346 Use EventLoopGroup to create AsyncFSOutput 2017-11-30 15:22:23 +08:00
Michael Stack 91e75b2a2f HBASE-19385 [1.3] TestReplicator failed 1.3 nightly 2017-11-29 23:14:22 -08:00
Apekshit Sharma 81b95afbee HBASE-19367 Refactoring in RegionStates, and RSProcedureDispatcher
- Adding javadoc comments
- Bug: ServerStateNode#regions is HashSet but there's no synchronization to prevent concurrent addRegion/removeRegion. Let's use concurrent set instead.
- Use getRegionsInTransitionCount() directly to avoid instead of getRegionsInTransition().size() because the latter copies everything into a new array - what a waste for just the size.
- There's mixed use of getRegionNode and getRegionStateNode for same return type - RegionStateNode. Changing everything to getRegionStateNode. Similarly rename other *RegionNode() fns to *RegionStateNode().
- RegionStateNode#transitionState() return value is useless since it always returns it's first param.
- Other minor improvements
2017-11-29 22:40:11 -08:00
Guanghao Zhang abb535eef6
HBASE-19359 Revisit the default config of hbase client retries number 2017-11-29 10:32:42 -08:00
zhangduo f81ac42aa3
HBASE-19372 Remove the Span object in SyncFuture as it is useless now
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-29 09:11:46 -08:00
binlijin 8b32d37929 HBASE-19290 Reduce zk request when doing split log 2017-11-29 18:42:14 +08:00
Jerry He e67a3699c4 HBASE-19096 Add RowMutions batch support in AsyncTable
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-11-28 18:42:17 -08:00
zhangduo 93b91e2cc6 HBASE-17049 Do not issue sync request when there are still entries in ringbuffer 2017-11-29 10:19:42 +08:00
Balazs Meszaros f6582400be
HBASE-19242 Add MOB compact support for AsyncAdmin
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Guanghao Zhang <zghaobac@gmail.com>
2017-11-28 15:03:50 -08:00
Peter Somogyi 520b9efc2d HBASE-19363 Tests under TestCheckAndMutate are identical
Remove testCheckAndMutateUsingNewComparisonOperatorInstead

Signed-off-by: Michael Stack <stack@apache.org>
2017-11-28 12:18:51 -08:00
Peter Somogyi b5a01685f4 HBASE-19351 Deprecated is missing in Table implementations
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-28 11:17:35 -08:00
Chia-Ping Tsai b75510284f HBASE-19342 fix TestTableBasedReplicationSourceManagerImpl#testRemovePeerMetricsCleanup 2017-11-28 18:06:38 +08:00
Balazs Meszaros 0f33931b2a
HBASE-19328 Remove asked if splittable log messages
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-27 21:06:49 -08:00
binlijin 3863559b07 HBASE-19338 Performance regression in RegionServerRpcQuotaManager to get ugi 2017-11-28 09:57:35 +08:00
Apekshit Sharma e70b628544 HBASE-19335 Fix waitUntilAllRegionsAssigned(). Ignore assignments to killed servers and when region state != OPEN.
Update timeouts for TestRegionObserverInterface.
Reason: There are ~10 tests there, each with 5 min individual timeout. Too much. The test class is labelled MediumTests,
let's used that with our standard CategoryBasedTimeout. 3 min per test function should be enough even on slower Apache machines.
2017-11-27 16:20:15 -08:00
Balazs Meszaros 7c1c370f2f HBASE-18601 Update Htrace to 4.2 (addendum)
- TraceTree fix

Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-28 06:59:57 +08:00
Josh Elser 5c1acf4792 HBASE-19318 Use the PB service interface as the judge of whether some security feature exists
Hard-coded checks on HBase implementations (e.g. AccessController and
VisibilityController) preclude custom implementations of authorization
and visibility labels (Apache Ranger).

Signed-off-by: Ted Yu <tedyu@apache.org>
2017-11-27 17:49:23 -05:00
Apekshit Sharma f886716617 HBASE-19319 Fix bug in synchronizing over ProcedureEvent
Also moves event related functions (wake/wait/suspend) from ProcedureScheduler to ProcedureEvent class
2017-11-27 11:51:17 -08:00
Guangxu Cheng 5a0881a98b HBASE-19325 Pass a list of server name to postClearDeadServers
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-28 02:47:06 +08:00
Vasudevan 73e3af00e9 HBASE-19092 Make Tag IA.LimitedPrivate and expose for CPs (Ram) 2017-11-24 12:21:38 +05:30
Chia-Ping Tsai 8572364c37 HBASE-19266 TestAcidGuarantees should cover adaptive in-memory compaction 2017-11-24 00:16:50 +08:00
Guanghao Zhang 3e2941a49e HBASE-16868 Add a replicate_all flag to avoid misuse the namespaces and table-cfs config of replication peer 2017-11-23 14:54:19 +08:00
Reid Chan 2442cbb6ab HBASE-18309 Support multi threads in CleanerChore
Signed-off-by: Yu Li <liyu@apache.org>
2017-11-23 11:23:26 +08:00
Gary Helmling cdc2bb17ff HBASE-19332 DumpReplicationQueues misreports total WAL size 2017-11-22 16:25:12 -08:00
Josh Elser 6f0c9fbfd1 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:06:49 -05:00
Michael Stack 194efe3e5a
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:01:01 -08:00
zhangduo 1a4037b9dc HBASE-19311 Promote TestAcidGuarantees to LargeTests and start mini cluster once to make it faster 2017-11-22 14:10:10 +08:00
Apekshit 3b2b22b5fa 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:52:32 -08:00
anoopsamjohn 984e0ecfc4 HBASE-19301 Provide way for CPs to create short circuited connection with custom configurations. 2017-11-21 19:04:53 +05:30
Guanghao Zhang e1133d5201 HBASE-19293 Support add a disabled state replication peer directly 2017-11-21 15:26:06 +08:00
tedyu 9b7b83d862 HBASE-19288 Intermittent test failure in TestHStore.testRunDoubleMemStoreCompactors 2017-11-19 20:23:12 -08:00
Michael Stack 08544e54a9 HBASE-19123 Purge 'complete' support from Coprocesor Observers 2017-11-18 16:04:27 -08:00
Apekshit Sharma 330b0d05b9 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:20:18 -08:00
Guangxu Cheng e8ae6d4b73 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:36 -08:00
Guanghao Zhang 52273aa8f3 HBASE-18911 Unify Admin and AsyncAdmin's methods name 2017-11-17 09:46:54 +08:00
huzheng d726492838 HBASE-19252 Move the transform logic of FilterList into transformCell() method to avoid extra ref to question cell 2017-11-17 09:26:04 +08:00
Michael Stack f7212aaeba
HBASE-19268 Enable Replica tests that were disabled by Proc-V2 AM in HBASE-14614 2017-11-16 13:49:45 -08:00
Michael Stack 6f9651b417 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:14 -08:00
Umesh Agashe 570d786ac4
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:00 -08:00
Michael Stack b35e18cccd
HBASE-19270 Reenable TestRegionMergeTransactionOnCluster#testMergeWithReplicas disable by HBASE-14614 2017-11-15 23:37:48 -08:00
Michael Stack 6d39b011d4
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:32:33 -08:00
Michael Stack 92f53218e3
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:26:58 -08:00
zhangduo 54827cf613 HBASE-19251 Merge RawAsyncTable and AsyncTable 2017-11-16 14:36:28 +08:00
Michael Stack 3a4655019d 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:39:28 -08:00
Guanghao Zhang 600fdee844 HBASE-19009 implement modifyTable and enable/disableTableReplication for AsyncAdmin 2017-11-16 07:07:20 +08:00
Sean Busbey df98d6848f 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:38:12 -06:00
anoopsamjohn 7d70487442 HBASE-19235 CoprocessorEnvironment should be exposed to CPs. 2017-11-15 14:49:42 +05:30
Umesh Agashe 0ac18a8126
HBASE-18963 Removed MultiRowMutationProcessor and modified mutateRows...() to use batchMutate() with atomic set to true 2017-11-14 21:44:30 -08:00
Lars Hofhansl 0c4fbcc329 HBASE-12091 Optionally ignore edits for dropped tables for replication. 2017-11-14 17:08:14 -08:00
zhangduo e0580b20d1 HBASE-19243 Start mini cluster once before class for TestFIFOCompactionPolicy 2017-11-14 15:40:24 +08:00
Andrew Purtell b2c2729c42 HBASE-19250 TestClientClusterStatus is flaky 2017-11-13 18:02:22 -08:00
Yi Liang 80741e31e8 HBASE-19237: TestMaster.testMasterOpsWhileSplitting fails
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-13 16:00:48 -08:00
Michael Stack aa151cfb9e HBASE-18601: Update Htrace to 4.2; ADDENDUM; hack failing TestHTraceHooks test 2017-11-13 10:31:57 -08:00
zhangduo 5c312667ed HBASE-19241 Improve javadoc for AsyncAdmin and cleanup warnings for the implementation classes 2017-11-13 16:40:10 +08:00
Guanghao Zhang 1ba7cc2164 HBASE-19035 Miss metrics when coprocessor use region scanner to read data 2017-11-12 15:11:43 +08:00
Mike Drob c87189d418
HBASE-19240 more error-prone results 2017-11-11 11:58:10 -08:00
Tamas Penzes 377174d3ef HBASE-18601: Update Htrace to 4.2
Updated HTrace version to 4.2
Created TraceUtil class to wrap htrace methods. Uses try with resources.

Signed-off-by: Balazs Meszaros <balazs.meszaros@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-11-11 10:34:03 -08:00
anoopsamjohn bff619ef7b HBASE-19187 Remove option to create on heap bucket cache. 2017-11-11 12:37:18 +05:30
zhangduo 72270866cb 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:05:25 -08:00
Michael Stack d999d2da23 HBASE-18423 Fix TestMetaWithReplicas 2017-11-09 15:00:27 -08:00
Umesh Agashe 5bb2a24984
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:14:33 -08:00
Yi Liang 0ec96a5ffe 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:29 -08:00
Michael Stack fd86de98e1 HBASE-19165 TODO Handle stuck in transition: rit=OPENING, location=ve0538.... 2017-11-09 10:28:19 -08:00
Guangxu Cheng ec59b0008c HBASE-19199 RatioBasedCompactionPolicy#shouldPerformMajorCompaction() always return true when only one file needs to compact
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-11-09 08:32:24 -08:00
Zach York d78d1ee672 HBASE-18624 Added support for clearing BlockCache based on tablename
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-11-09 04:03:15 +08:00
Mike Drob 2413a10e67 HBASE-19195 error-prone fixes for client, mr, and server 2017-11-08 12:15:25 -06:00
Apekshit Sharma 4132314f51 HBASE-19128 Purge Distributed Log Replay from codebase, configurations, text; mark the feature as unsupported, broken. 2017-11-07 17:43:14 -08:00
Umesh Agashe 4eae5a2974
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:00:49 -08:00
QilinCao 0356674cd1 HBASE-19103 Add BigDecimalComparator for filter
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
2017-11-07 08:07:58 +01:00
Michael Stack d1b6d8c906 HBASE-19198 TestIPv6NIOServerSocketChannel fails; unable to bind 2017-11-06 21:20:04 -08:00
Guanghao Zhang b6011a16ff HBASE-19186 Unify to use bytes to show size in master/rs ui 2017-11-07 10:07:03 +08:00
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
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
tedyu df34300cd3 HBASE-15410 Utilize the max seek value when all Filters in MUST_PASS_ALL FilterList return SEEK_NEXT_USING_HINT 2017-09-07 04:07:09 -07:00
Michael Stack 3a9dc8fbd5 HBASE-18768 Move TestTableName to hbase-common from hbase-server
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-06 18:11:32 -07:00
Chia-Ping Tsai 2f14a054f8 HBASE-18749 Apply the CF specific TimeRange from Scan to filter the segment scanner 2017-09-06 19:40:51 +08:00
Zach York f36fb11eaf 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:11:54 -07:00
Biju Nair f362ef709f HBASE-18737 Display configured max size of memstore and cache on RS UI
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-05 13:01:11 -07:00
Umesh Agashe 5d60123f3e HBASE-18674 upgrading to commons-lang3
Signed-off-by: Michael Stack <stack@apache.org>
2017-09-05 09:46:10 -07:00
Biju Nair 36371acee7 HBASE-18652 Expose individual cache stats in a CombinedCache through JMX
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-09-05 08:13:19 -07:00
Michael Stack 52d4b25754 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:13:36 -07:00
Michael Stack 8ec5d59a08 HBASE-18736 Cleanup the HTD/HCD for Admin; ADDENDUM 2017-09-04 21:09:04 -07:00
Chia-Ping Tsai 32ddb1f604 HBASE-18736 Cleanup the HTD/HCD for Admin 2017-09-04 16:59:36 +08:00
tedyu 83175fdf83 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:10:19 -07:00
zhangduo 9e53f2927b HBASE-18699 Copy LoadIncrementalHFiles to another package and mark the old one as deprecated 2017-09-03 19:49:42 +08:00
Michael Stack fb537fe736 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-08-31 12:41:31 -07:00
Chia-Ping Tsai 8a800c3f19 HBASE-18721 Cleanup unused configs and private declaration 2017-08-31 23:40:37 +08:00
Cesar Delgado b5942241ca HBASE-18675 Making {max,min}SessionTimeout configurable for MiniZooKeeperCluster
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-08-30 14:14:40 -07:00
Sean Busbey 1e28c9be6b Revert "Making {max,min}SessionTimeout configurable for MiniZooKeeperCluster"
This reverts commit bcefdf7d18.
2017-08-30 14:13:55 -07:00
Cesar Delgado bcefdf7d18 Making {max,min}SessionTimeout configurable for MiniZooKeeperCluster
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-08-30 14:13:09 -07:00
Chia-Ping Tsai 7465973068 HBASE-15806 An endpoint-based export tool 2017-08-30 14:06:04 +08:00
Chia-Ping Tsai d374a01415 HBASE-18306 Get rid of TableDescriptor#getConfiguration 2017-08-30 11:23:12 +08:00
Sean Mackrory b3c5c5ed4e HBASE-15947 Classes used only for tests included in main code base
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-30 10:46:28 +08:00
Chia-Ping Tsai 899255b76c HBASE-18714 The dropBehind and readahead don't be applied when useHBaseChecksum is enabled 2017-08-30 10:26:34 +08:00
Michael Stack 8c9087e6c5 HBASE-18698 MapreduceDependencyClasspathTool does not include hbase-server as a dependency
Move Driver to be the main-class in hbase-mapreduce jar rather than
in the hbase-server jar.

Reference the hbase-server and shaded protobuf so they get bundled
when you do 'hbase mapredcp'.
2017-08-29 13:09:57 -07:00
Andy Yang c91af3e7a4 HBASE-3935 HServerLoad.storefileIndexSizeMB should be changed to storefileIndexSizeKB
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-29 13:11:00 +08:00
Michael Stack 47a5614edd Revert "HBASE-18674 upgrading to commons-lang3"
Premature push

This reverts commit 5dacc85122.
2017-08-28 16:41:34 -07:00
Umesh Agashe 5dacc85122 HBASE-18674 upgrading to commons-lang3 2017-08-28 15:57:12 -07:00
Tamas Penzes bbf23d9627 HBASE-18369 hbase thrift web-ui not available
classpath issue when running as a developer fixed
removed thrift webapp from server (it's not used at all, since moved to thrift webapp)

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-28 08:45:57 -07:00
Vikas Vishwakarma 4e7f677170 HBASE-18633 Add more info to understand the source/scenario of large batch requests exceeding threshold 2017-08-28 15:20:21 +05:30
Chia-Ping Tsai d63a287bfd HBASE-18519 Use builder pattern to create cell 2017-08-28 14:14:49 +08:00
Chun-Hao Tang a407b58f17 HBASE-18611 Copy all tests from o.a.h.h.p.TestProtobufUtil to o.a.h.h.s.p.TestProtobufUtil
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-27 19:16:06 +08:00
Apekshit Sharma 664b6be0ef HBASE-18640 Move mapreduce out of hbase-server into separate module.
- Moves out o.a.h.h.{mapred, mapreduce} to new hbase-mapreduce module which depends
  on hbase-server because of classes like *Snapshot{Input,Output}Format.java, WALs, replication, etc
- hbase-backup depends on it for WALPlayer and MR job stuff
- A bunch of tools needed to be pulled into hbase-mapreduce becuase of their dependencies on MR.
  These are: CompactionTool, LoadTestTool, PerformanceEvaluation, ExportSnapshot
  This is better place of them than hbase-server. But ideal place would be in separate hbase-tools module.
- There were some tests in hbase-server which were digging into these tools for static util funtions or
  confs. Moved these to better/easily shared place. For eg. security related stuff to HBaseKerberosUtils.
- Note that hbase-mapreduce has secondPartExecution tests. On my machine they took like 20 min, so maybe
  more on apache jenkins. That's basically equal reduction of runtime of hbase-server tests, which is a
  big win!

Change-Id: Ieeb7235014717ca83ee5cb13b2a27fddfa6838e8
2017-08-25 18:38:48 -07:00
zhangduo 8d33949b8d HBASE-16324 Remove LegacyScanQueryMatcher 2017-08-26 08:04:43 +08:00
Michael Stack 20d272bce5 HBASE-18687 Add @since 2.0.0 to new classes 2017-08-25 13:12:30 -07:00
Michael Stack 08a9522fc1 HBASE-18673 Some more unwanted reference to unshaded PB classes 2017-08-24 20:59:23 -07:00
Ajay Jadhav 98bb5c05e3 HBASE-18448 Added refresh HFiles coprocessor endpoint
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-08-25 06:56:41 +05:30
Huaxiang Sun 1a2c38b965 HBASE-18287 Remove log warning in PartitionedMobCompactor.java#getFileStatus 2017-08-24 14:43:44 -07:00
Michael Stack 1b4e935cec HBASE-18658 Purge hokey hbase Service implementation; use (internal) Guava Service instead
Removes hbase Service. Moves the single user, ClusterSchemaServiceImpl
to use relocated internal Guava Service instead.
2017-08-24 09:19:36 -07:00
anoopsamjohn 88356029f1 Revert "HBASE-18448 Added refresh HFiles coprocessor endpoint"
This reverts commit 612c23556d.
2017-08-24 21:13:08 +05:30
Ajay Jadhav 612c23556d HBASE-18448 Added refresh HFiles coprocessor endpoint
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-08-24 20:42:49 +05:30
Michael Stack 6e7baa07f0 HBASE-15982 Interface ReplicationEndpoint extends Guava's Service
Breaking change to our ReplicationEndpoint and BaseReplicationEndpoint.

ReplicationEndpoint implemented Guava 0.12 Service. An abstract
subclass, BaseReplicationEndpoint, provided default implementations
and facility, among other things, by extending Guava
AbstractService class.

Both of these HBase classes were marked LimitedPrivate for
REPLICATION so these classes were semi-public and made it so
Guava 0.12 was part of our API.

Having Guava in our API was a mistake. It anchors us and the
implementation of the Interface to Guava 0.12. This is untenable
given Guava changes and that the Service Interface in particular
has had extensive revamp and improvement done. We can't hold to
the Guava Interface. It changed. We can't stay on Guava 0.12;
implementors and others on our CLASSPATH won't abide being stuck
on an old Guava.

So this class makes breaking changes. The unhitching of our Interface
from Guava could only be done in a breaking manner. It undoes the
LimitedPrivate on BaseReplicationEndpoint while keeping it for the RE
Interface. It means consumers will have to copy/paste the
AbstractService-based BRE into their own codebase also supplying their
own Guava; HBase no longer 'supplies' this (our Guava usage has
been internalized, relocated).

This patch then adds into RE the basic methods RE needs of the old
Guava Service rather than return a Service to start/stop only to go
back to the RE instance to do actual work. A few method names had to
be changed so could make implementations with Guava Service internally
and not have RE method names and types clash). Semantics remained the
same otherwise. For example startAsync and stopAsync in Guava are start
and stop in RE.
2017-08-24 08:05:27 -07:00
zhangduo d12eb7a4aa HBASE-18347 Implement a BufferedMutator for async client 2017-08-24 15:55:43 +08:00
Chia-Ping Tsai 25ee5f7f84 HBASE-18546 Always overwrite the TS for Append/Increment unless no existing cells are found 2017-08-24 14:35:22 +08:00
Michael Stack 3b444a066c HBASE-18224 Upgrade Jetty 2017-08-23 23:12:59 -07:00
Chia-Ping Tsai 25ff9d0bbf HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor 2017-08-24 13:03:38 +08:00
Chia-Ping Tsai 12f2b02a80 Revert "HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor"
Wrong author information
This reverts commit b03348630c.
2017-08-24 13:02:11 +08:00
Chia-Ping Tsai b03348630c HBASE-18503 Change ***Util and Master to use TableDescriptor and ColumnFamilyDescriptor 2017-08-24 12:56:58 +08:00
Apekshit Sharma 26e6c2ceb4 HBASE-17442 Move most of the replication related classes from hbase-client to new hbase-replication package. (Guanghao Zhang).
Change-Id: Ie0e24cc617ab4bf56de8b1747062d1b78a5d4669
2017-08-23 14:41:58 -07:00
Umesh Agashe 6b21f8881b HBASE-18575 [AMv2] Fixed and enabled TestRestartCluster#testRetainAssignmentOnRestart on master
* Fixed ServerCrashProcedure to set forceNewPlan to false for instances AssignProcedure. This enables balancer to find most suitable target server
* Fixed and enabled TestRestartCluster#testRetainAssignmentOnRestart on master
* Renamed method ServerName@isSameHostnameAndPort() to isSameAddress()

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-23 10:10:56 -07:00
Vladimir Rodionov 2dda371209 HBASE-17614: Move Backup/Restore into separate module (Vladimir Rodionov)
Signed-off-by: Josh Elser <elserj@apache.org>
2017-08-23 12:40:57 -04:00
tedyu 6c0e219dd4 HBASE-18632 TestMultiParallel#testFlushCommitsWithAbort fails in master branch 2017-08-23 09:35:08 -07:00
Biju Nair 04f114b85c HBASE-18532 Improve cache related stats rendered on RS UI
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-23 07:53:55 -07:00
Michael Stack dcd3e9abf4 HBASE-18655 TestAsyncClusterAdminApi2 failing sometimes
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-22 21:24:10 -07:00
Biju Nair 3be5e8ce00 HBASE-18614 Setting BUCKET_CACHE_COMBINED_KEY to false disables stats on RS UI
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-22 18:01:43 -07:00
Mike Drob 51d458872d HBASE-12349 Add custom error-prone module 2017-08-22 16:38:17 -05:00
Mike Drob 5b42d81950 HBASE-18628 Fix event pre-emption in ZKPermWatcher
Instead of using an Atomic Reference to data and aborting when we detect
that new data comes in, use the native cancellation/pre-emption features
of Java Future.
2017-08-22 11:19:38 -05:00
Michael Stack 05f07f692b HBASE-18645 Loads of tests timing out.... Revert "HBASE-14498 Master stuck in infinite loop when all Zookeeper servers are unreachable"
This reverts commit 1ab6882f62.
2017-08-22 01:41:18 -07:00
Umesh Agashe 5895538a32 HBASE-18103 [AMv2] Changed master to throw YouAreDeadException when it receives regionServerReport() with incorrect region assignment. Added test to verify rogue region server behavior.
Behavior prior to these changes is to call expireServer(), log exception and suppress it. These changes will result in RS receiving the YouAreDeadException and treating it as a fatal error. This 'fail fast' approach will help us stabilize the code. This behavior can be reconsidered later if necessary.

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-21 17:23:10 -07:00
Michael Stack bf343da4a4 HBASE-18627 Fix TestRegionServerReadRequestMetrics (Chia-Ping Tsai) 2017-08-21 15:38:15 -07:00
Michael Stack 078a6be7d0 HBASE-18634 HBASE-Fix client.TestClientClusterStatus (Chia-Ping Tsai)
This is a revert of a revert; i.e. a reapply just to fix commit message.

This reverts commit fbbae8774c.
2017-08-21 14:38:58 -07:00
Michael Stack fbbae8774c Revert "HBASE-Fix client.TestClientClusterStatus (Chia-Ping Tsai)"
Revert because missing JIRA number

This reverts commit 7b3291fa8b.
2017-08-21 14:38:22 -07:00
Michael Stack 7b3291fa8b HBASE-Fix client.TestClientClusterStatus (Chia-Ping Tsai) 2017-08-21 14:21:30 -07:00
Andrew Purtell 70d48b113e HBASE-18623 Frequent failed to parse at EOF warnings from WALEntryStream 2017-08-21 09:29:24 -07:00
Chia-Ping Tsai 56f9e1a60a HBASE-18471 The DeleteFamily cell is skipped when StoreScanner seeks to next column 2017-08-19 02:15:12 +08:00
Chia-Ping Tsai e9bafeb091 HBASE-18572 Delete can't remove the cells which have no visibility label 2017-08-19 01:55:45 +08:00
tedyu e2532ecd1e HBASE-18617 FuzzyRowKeyFilter should not modify the filter pairs (vinisha) 2017-08-18 09:10:20 -07:00
zhangduo 2af2b4c040 HBASE-18489 Addendum revert protected to private, give shaded import a separated block 2017-08-18 10:54:49 +08:00
Pankaj Kumar 1ab6882f62 HBASE-14498 Master stuck in infinite loop when all Zookeeper servers are unreachable
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-17 19:02:39 -07:00
anastas 75a6b36849 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-08-17 18:23:19 +03:00
Guanghao Zhang 092dc6de84 HBASE-18608 AsyncConnection should return AsyncAdmin interface instead of the implemenation 2017-08-17 09:47:39 +08:00
Michael Stack 473446719b HBASE-18511 Default no regions on master
Changes the configuration hbase.balancer.tablesOnMaster from list of
table names to instead be a boolean; true if master carries
tables/regions and false if it does not.

Adds a new configuration hbase.balancer.tablesOnMaster.systemTablesOnly.
If true, hbase.balancer.tablesOnMaster is considered true but only
system tables are put on the master.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
  Master was claiming itself active master though it had stopped. Fix
the activeMaster flag. Set it to false on exit.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java
 Add new configs and convenience methods for getting current state of
settings.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.java
 Move configs up into super Interface and now the settings mean
different, remove the no longer needed processing.
2017-08-16 08:39:36 -07:00
Umesh Agashe acf9b87dca HBASE-18493 [AMv2] Skipped re-assignment of regions on crashed server through AssignmentManager.checkIfShouldMoveSystemRegionAsync() as those regions are handled by ServerCrashProcedure
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-16 08:12:05 -07:00
zhangduo 4c74a73d57 HBASE-18553 Expose scan cursor for asynchronous scanner 2017-08-16 21:04:57 +08:00
Guanghao Zhang 2a9cdd5e75 HBASE-17994 Add async client test to Performance Evaluation tool 2017-08-16 14:05:07 +08:00
Ramkrishna 9da4e6906e HBASE-18251 Remove unnecessary traversing to the first and last keys in
the CellSet (Toshihoro Suzuki)
2017-08-16 11:06:31 +05:30
Ashish Singhi b0878184a3 HBASE-18437 Revoke access permissions of a user from a table does not work as expected
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-08-15 22:29:16 -07:00
Guanghao Zhang 59ffb6119b HBASE-18598 AsyncNonMetaRegionLocator use FIFO algorithm to get a candidate locate request 2017-08-16 13:08:40 +08:00
Vladimir Rodionov 665fd0d07e HBASE-18424 Fix TestAsyncTableGetMultiThreaded
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-08-16 11:29:34 +08:00
Zach York 5280c100ff HBASE-18587 Fix flaky TestFileIOEngine
This short circuits reads and writes with 0 length and also removes flakiness in TestFileIOEngine

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-15 14:57:10 -07:00
Umesh Agashe 2b88edfd8d HBASE-18581 Removed dead code and some tidy up work in BaseLoadBalancer
* calls to methods getLowestLocalityRegionServer() & getLeastLoadedTopServerForRegion() got removed in HBASE-18164
  * call to calculateRegionServerLocalities() got removed in HBASE-15486
  * Some other minor improvements

Change-Id: Ib149530d8d20c019b0891c026e23180e260f59db
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-08-15 14:55:52 -07:00
Chun-Hao Tang 310934d060 HBASE-18544 Move the HRegion#addRegionToMETA to TestDefaultMemStore
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-15 14:52:33 -07:00
Lars Francke 70c4f78ce0 HBASE-18599 Add missing @Deprecated annotations
Signed-off-by: Michael Stack <stack@apache.org>
2017-08-15 10:44:50 -07:00
Reid Chan effd1093b5 HBASE-17064 Add TaskMonitor#getTasks() variant which accepts type selection
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-15 09:45:19 -07:00
Deon Huang d37266f63c HBASE-2631 Decide between InMB and MB as suffix for field names in ClusterStatus objects
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-15 21:42:31 +08:00
Zach York 0e32869f01 HBASE-18533 Expose BucketCache values to be configured
Before this commit, BucketCache always used the default values.
This commit adds the ability to configure these values.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-14 13:27:26 -07:00
Mike Drob 0b26ccdaa1 HBASE-18303 Clean up @Parameter boilerplate 2017-08-14 14:23:24 -05:00
Jerry He 096dac2e83 HBASE-18522 Add RowMutations support to Batch 2017-08-14 10:39:46 -07:00
Chia-Ping Tsai e2b797be39 HBASE-18528 DON'T allow user to modify the passed table/column descriptor 2017-08-14 14:02:30 +08:00
Guangxu Cheng c6bf4d5192 HBASE-18566 [RSGROUP]Log the client IP/port of the rsgroup admin
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-13 20:29:12 -07:00
Josh Elser 05e6e56950 HBASE-14135 Merge backup images (Vladimir Rodionov) 2017-08-13 20:55:58 -04:00
Michael Stack c6ac04ab39 HBASE-18271 Shade netty Purge mention of netty-all.
Add in hbase-thirdparty hbase-shaded-netty instead.
s/io.netty/org.apache.hadoop.hbase.shaded.io.netty/ everywhere in hbase.

Also set a system property when running tests and when starting
hbase; required by netty so can find the relocation files in the
bundled .so.
2017-08-13 12:46:21 -07:00
Reid Chan 923195c39e HBASE-15511 ClusterStatus should be able to return responses by scope
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-14 01:02:39 +08:00
Yi Liang 95e883967c HBASE-18557: Change splitable to mergeable in MergeTableRegionsProcedure
Signed-off-by: Jerry He <jerryjch@apache.org>
2017-08-11 22:45:22 -07:00
tedyu aa8f67a148 HBASE-18526 FIFOCompactionPolicy pre-check uses wrong scope (Vladimir Rodionov) 2017-08-11 16:41:40 -07:00
Michael Stack 1070888fff HBASE-18551 [AMv2] UnassignProcedure and crashed regionservers; AMENDMENT -- disable TestAM#testSocketTimeout... mock is insufficent for new processing 2017-08-11 14:20:35 -07:00
Esteban Gutierrez 71a9a9a944 HBASE-18025 CatalogJanitor should collect outdated RegionStates from the AM 2017-08-11 13:36:38 -05:00
Michael Stack 6f44b24860 HBASE-18551 [AMv2] UnassignProcedure and crashed regionservers
If an unassign is unable to communicate with its target server,
expire the server and then wait on a signal from ServerCrashProcedure
before proceeding. The unassign has lock on the region so no one else
can proceed till we complete. We prevent any subsequent assign from
running until logs have been split for crashed server.

In AssignProcedure, do not assign if table is DISABLING or DISABLED.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Change remoteCallFailed so it returns boolean on whether implementor
wants to stay suspended or not.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
  Doc. Also, if we are unable to talk to remote server, expire it and
then wait on SCP to wake us up after it has processed logs for failed
server.
2017-08-11 07:16:33 -07:00
Guanghao Zhang cabdbf181a HBASE-18500 Performance issue: Don't use BufferedMutator for HTable's put method 2017-08-11 16:33:35 +08:00
Yu Li 679f34e881 HBASE-18469 Correct RegionServer metric of totalRequestCount 2017-08-11 14:13:18 +08:00
Guanghao Zhang 4dd24c52b8 HBASE-17125 Inconsistent result when use filter to read data 2017-08-11 10:58:00 +08:00
Esteban Gutierrez efd211debd HBASE-18024 HRegion#initializeRegionInternals should not re-create .hregioninfo file when the region directory no longer exists 2017-08-10 17:56:17 -05:00
Michael Stack e4ba404a5a Revert "HBASE-18551 [AMv2] UnassignProcedure and crashed regionservers"
This reverts commit 2dd75d10f8.
2017-08-10 14:59:52 -07:00
Umesh Agashe e98b38bf6c HBASE-18560 Fixed master.assignment.TestAssignmentManager hangs on master and it shows up in flaky list 2017-08-10 14:58:52 -07:00
Michael Stack 2dd75d10f8 HBASE-18551 [AMv2] UnassignProcedure and crashed regionservers
If an unassign is unable to communicate with its target server,
expire the server and then wait on a signal from ServerCrashProcedure
before proceeding. The unassign has lock on the region so no one else
can proceed till we complete. We prevent any subsequent assign from
running until logs have been split for crashed server.

In AssignProcedure, do not assign if table is DISABLING or DISABLED.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Change remoteCallFailed so it returns boolean on whether implementor
wants to stay suspended or not.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
  Doc. Also, if we are unable to talk to remote server, expire it and
then wait on SCP to wake us up after it has processed logs for failed
server.
2017-08-10 14:53:35 -07:00
Ashu Pachauri ded0842caf HBASE-18398: Snapshot operation fails with FileNotFoundException 2017-08-10 14:20:08 -07:00
Umesh Agashe d5f34adcdb HBASE-18543 Disabled test TestMasterFailover
This test as it is written currently will not work with AMv2. This needs to be re-written after HBASE-18511 is committed. Disabled the test and update JIRA to re-enable it with dependency on HBASE-18511.

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-10 11:01:27 -07:00
zhangduo 624652373e HBASE-18489 Expose scan cursor in RawScanResultConsumer 2017-08-10 10:11:40 +08:00
Andrew Purtell d0941127d4 HBASE-18248 Warn if monitored RPC task has been tied up beyond a configurable threshold 2017-08-09 18:16:38 -07:00
Umesh Agashe 67eddf5874 HBASE-18525 [AMv2] Fixed test TestAssignmentManager#testSocketTimeout on master branch 2017-08-09 10:15:37 -07:00
Umesh Agashe f314b5911b HBASE-18492 [AMv2] Embed code for selecting highest versioned region server for system table regions in AssignmentManager.processAssignQueue()
* Modified AssignmentManager.processAssignQueue() method to consider only highest versioned region servers for system table regions when
  destination server is not specified for them. Destination server is retained, if specified.
* Modified MoveRegionProcedure to allow null value for destination server i.e. moving a region from specific source server to non-specific/ unknown
  destination server (picked by load-balancer) is supported now.
* Removed destination server selection from HMaster.checkIfShouldMoveSystemRegionAsync(), as destination server will be picked by load balancer

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-08 14:02:11 -07:00
Michael Stack 03390684cc Revert "HBASE-18511 Default no regions on master"
This reverts commit a8e0267c00.
2017-08-08 13:37:56 +08:00
Michael Stack a8e0267c00 HBASE-18511 Default no regions on master 2017-08-08 12:11:02 +08:00
Chia-Ping Tsai fd76eb39d7 HBASE-18502 Change MasterObserver to use TableDescriptor and ColumnFamilyDescriptor 2017-08-07 11:26:15 +08:00
no_apologies a7014ce46c HBASE-18515 Introduce Delete.add as a replacement for Delete#addDeleteMarker
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-08-07 11:05:23 +08:00
Guanghao Zhang 5915d73a70 HBASE-18485 Performance issue: ClientAsyncPrefetchScanner is slower than ClientSimpleScanner 2017-08-07 10:35:19 +08:00
Zach York 637f7abf0b HBASE-18520 Add jmx value to determine true Master Start time
This is to determine how long it took in total for the master to start and finish initializing.

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-08-05 22:32:33 -07:00
Umesh Agashe 62deb8172e HBASE-18516 Removed dead code in ServerManager resulted mostly from AMv2 refactoring
* Call to methods sendRegionOpen(), isServerReachable(), removeRequeuedDeadServers(), getRequeuedDeadServers() got removed in HBASE-14614
* Call to method ServerManager.sendFavoredNodes() got removed in HBASE-17198
2017-08-04 13:47:59 -07:00
Apekshit Sharma de696cf6b6 HBASE-18231 Deprecate Admin#closeRegion*() commands in favor of Admin#unassign().
Other changes:
- Update corresponding tests in TestAdmin2. Removed tests centered around serverName part of old functions.
- Remove dead functions from ProtobufUtil and ServerManager
- Rename closeRegion* functions in HBTU to unassignRegion*

Change-Id: Ib9bdeb185e10750daf652be0bb328306accb73ab
2017-08-02 15:19:06 -07:00
Michael Stack 7a6de1bd42 HBASE-17056 Remove checked in PB generated files
Selective add of dependency on hbase-thirdparty jars.
Update to READMEs on how protobuf is done (and update to refguide).
Removed all checked in generated protobuf files. They are generated
on the fly now as part of mainline build.
2017-08-02 09:33:20 -07:00
Chia-Ping Tsai f260f09865 HBASE-18480 The cost of BaseLoadBalancer.cluster is changed even if the rollback is done 2017-08-02 08:48:01 +08:00
Umesh Agashe ba5e8706de HBASE-18491 [AMv2] Fail UnassignProcedure if source Region Server is not online.
The patch also enables TestServerCrashProcedure.testRecoveryAndDoubleExecutionOnRsWithMeta()

Signed-off-by: Michael Stack <stack@apache.org>
2017-08-01 17:05:00 -07:00
James Taylor 422a57223a HBASE-18487 Minor fixes in row lock implementation
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-08-01 11:28:02 -07:00
Umesh Agashe a5db120e60 HBASE-18261 Created RecoverMetaProcedure and used it from ServerCrashProcedure and HMaster.finishActiveMasterInitialization().
This procedure can be used from any code before accessing meta, to initialize/ recover meta

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-31 14:25:03 -07:00
Sean Busbey 331a6cface HBASE-18475 ensure only non-null procedures are sent to requireTableExclusiveLock
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-31 11:05:16 -05:00
Abhishek Singh Chouhan 95808b4672 HBASE-18374 RegionServer Metrics improvements 2017-07-31 12:42:41 +05:30
Guanghao Zhang df90ba58db HBASE-18481 The autoFlush flag was not used in PE tool 2017-07-31 10:54:45 +08:00
Yi Liang 00c1b56665 HBASE-18465: [AMv2] remove old split region code that is no longer needed
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-30 15:24:58 -05:00
Alex Leblang 0e9390bd6d HBASE-18406 Remove NO-OP Method
This patch removes start(MasterProcedureEnv) from
ServerCrashProcedure.java which was a misnomer as a no-op. It
did not start anything.

Change-Id: I4e91864ace912e137471bfce03516746c4aff83e

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-30 13:59:53 +01:00
Abhishek Singh Chouhan 2d06a06ba4 HBASE-15134 Add visibility into Flush and Compaction queues 2017-07-28 12:59:09 +05:30
Esteban Gutierrez 9a1661832d HBASE-18362 hbck should not report split replica parent region from meta as errors (Huaxiang Sun)
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2017-07-27 15:58:16 -05:00
Chia-Ping Tsai 3d81f7b9e7 HBASE-18449 Fix client.locking.TestEntityLocks 2017-07-26 20:26:24 +08:00
Malcolm Taylor 421029d0c7 HBASE-18434 Address some alerts raised by lgtm.com
Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
2017-07-26 10:00:23 +05:30
Andrew Purtell 2fd8e824d5 HBASE-18054 log when we add/remove failed servers in client (Ali) 2017-07-25 18:53:09 -07:00
Umesh Agashe 746d1b1819 HBASE-18427 minor cleanup around AssignmentManager
- unused imports
- superfluous exception in method definitions

Change-Id: I156383b9895fa718fe9d5227003c23bd945cf999
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-07-25 17:46:04 -07:00
Josh Elser 5cd7f630c2 HBASE-18023 Update row threshold warning from 1k to 5k (addendum) 2017-07-25 18:27:53 -04:00
Phil Yang e1cd59bbc4 HBASE-15968 (addendum) revert unrelated PE changing 2017-07-25 15:16:02 +08:00
Phil Yang 1ac4152b19 HBASE-15968 New behavior of versions considering mvcc and ts rather than ts only 2017-07-25 15:00:36 +08:00
Stephen Yuan Jiang fabab8c23f HBASE-18354 Fix TestMasterMetrics that were disabled by Proc-V2 AM in HBASE-14614 (Vladimir Rodionov) 2017-07-24 14:52:04 -07:00
Balazs Meszaros 8f006582e3 HBASE-18367 Reduce ProcedureInfo usage
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-24 10:41:03 +01:00
Yi Liang e9d8a7b6d5 HBASE-18107: [AMv2] Remove DispatchMergingRegionsRequest & DispatchMergingRegions
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-23 10:44:34 +01:00
Mike Drob 317ce73963 HBASE-18433 Convenience method for creating simple ColumnFamilyDescriptor
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-22 23:42:33 +08:00
rgidwani ec3cb19664 HBASE-15816 Provide client with ability to set priority on Operations
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-07-21 17:12:16 -07:00
Michael Stack 890d92a90c HBASE-17908 Upgrade guava
Pull in guava 22.0 by using the shaded version up in new hbase-thirdparty project.

In poms, exclude guava everywhere except on hadoop-common. Do this so
we minimize transitive includes. hadoop-common is needed because hadoop
Configuration uses guava doing preconditions.

Everywhere we used guava, instead use shaded so fix a load of imports.

Stopwatch API changed as did hashing and toStringHelper which is now
in MoreObjects class. Otherwise, minimal changes to come up on 22.0
2017-07-21 15:28:08 +01:00
anoopsamjohn bc93b6610b HBASE-16993 BucketCache throw java.io.IOException: Invalid HFile block magic when configuring hbase.bucketcache.bucket.sizes. 2017-07-20 22:59:06 +05:30
Andrew Purtell 01db60d65b HBASE-18330 NPE in ReplicationZKLockCleanerChore 2017-07-19 15:46:08 -07:00
Chia-Ping Tsai 3574757f74 HBASE-18308 Eliminate the findbugs warnings for hbase-server 2017-07-20 00:35:07 +08:00
Peter Somogyi f10f8198af HBASE-16312 update jquery version
Upgrade jquery from 1.8.3 to 3.2.1 in hbase-server and hbase-thrift modules

Change-Id: I92d479e9802d954f607ba409077bc98581e9e5ca

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-19 11:44:31 +01:00
Phil Yang 6b7ebc019c HBASE-18390 Sleep too long when finding region location failed 2017-07-19 11:34:57 +08:00
tedyu 0c2915b48e HBASE-18377 Error handling for FileNotFoundException should consider RemoteException in openReader() 2017-07-17 20:24:29 -07:00
Michael Stack a9352fe956 HBASE-18366 Fix flaky test TestServerCrashProcedure#testRecoveryAndDoubleExecutionOnRsWithMeta (Umesh Agashe)
Disabled for now. Will be back here when a more fundamental fix.
2017-07-14 22:41:36 +01:00
Yi Liang 353627b39d HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-14 22:25:14 +01:00
Mike Drob 9e0f450c0c HBASE-17922 Clean TestRegionServerHostname for hadoop3.
Change-Id: I6f1514b1bc301be553912539e6a4192c2ccc782b
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-07-13 11:44:18 -07:00
Jan Hentschel c0725ddff1 HBASE-18344 Introduce Append.addColumn as a replacement for Append.add
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-07-13 20:04:57 +08:00
Mike Drob cb5299ae9b HBASE-18177 FanOutOneBlockAsyncDFSOutputHelper fails to compile against Hadoop 3
Because ClientProtocol::create has API changes between Hadoop 2/3

Signed-off-by: zhangduo <zhangduo@apache.org>
2017-07-12 13:40:05 +08:00
Guanghao Zhang 22dce22e06 HBASE-18343 (addendum) Track the remaining unimplemented methods for async admin 2017-07-12 09:32:00 +08:00
tedyu c0f743e44f HBASE-18358 Backport HBASE-18099 'FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish' 2017-07-11 17:26:22 -07:00
Chia-Ping Tsai d215cb4950 HBASE-18295 The result contains the cells across different rows 2017-07-12 02:27:29 +08:00
Guanghao Zhang 1978b78cdf HBASE-18343 Track the remaining unimplemented methods for async admin 2017-07-11 14:01:56 +08:00
zhangduo f8e892d7aa HBASE-18348 The implementation of AsyncTableRegionLocator does not follow the javadoc 2017-07-11 11:43:35 +08:00
Chia-Ping Tsai 43492d2d3b HBASE-18267 The result from the postAppend is ignored 2017-07-11 10:30:06 +08:00
tedyu 7d007eac98 HBASE-17705 Procedure execution must fail fast if procedure is not registered (Vladimir Rodionov) 2017-07-10 09:04:56 -07:00
zhangduo 351703455a HBASE-18307 Share the same EventLoopGroup for NettyRpcServer, NettyRpcClient and AsyncFSWALProvider at RS side 2017-07-10 21:00:44 +08:00
Guanghao Zhang 1ddcc07d65 HBASE-18318 Implement updateConfiguration/stopMaster/stopRegionServer/shutdown methods 2017-07-10 13:41:19 +08:00
Guanghao Zhang c48bb67123 HBASE-18316 Implement async admin operations for draining region servers 2017-07-09 19:51:59 +08:00
Chia-Ping Tsai bc8ebc6f72 HBASE-18241 Change client.Table, client.Admin, Region, Store, and HBaseTestingUtility to not use HTableDescriptor or HColumnDescriptor 2017-07-08 16:54:25 +08:00
Guanghao Zhang 7f93729782 HBASE-18317 Implement async admin operations for Normalizer/CleanerChore/CatalogJanitor 2017-07-08 10:55:10 +08:00
Guanghao Zhang b0a5fa0c2a HBASE-18319 Implement getClusterStatus/getRegionLoad/getCompactionState/getLastMajorCompactionTimestamp methods 2017-07-07 16:21:45 +08:00
Yu Li 4fe7385767 HBASE-18083 Make large/small file clean thread number configurable in HFileCleaner 2017-07-07 14:07:23 +08:00
Michael Stack 6786b2b63e Revert "HBASE-17056 Remove checked in PB generated files Selective add of dependency on"
Revert for now. Build unstable and some interesting issues around
CLASSPATH

This reverts commit df93c13fd2.
2017-07-06 21:58:32 -07:00
Phil Yang 75d2eca8ac HBASE-17931 Assign system tables to servers with highest version 2017-07-06 17:35:54 +08:00
Ramkrishna 50bb045723 HBASE-18002 Investigate why bucket cache filling up in file mode in an
exisiting file  is slower (Ram)
2017-07-06 11:20:00 +05:30
Michael Stack df93c13fd2 HBASE-17056 Remove checked in PB generated files Selective add of dependency on
hbase-thirdparty jars. Update to READMEs on how protobuf is done (and update to
refguide) Removed all checked in generated protobuf files. They are generatedon
the fly now as part of mainline build.
2017-07-05 20:57:11 -07:00
Michael Stack c5abb6cabb Revert "HBASE-14070 - Core HLC"
Revert a push too-early

This reverts commit 9fe94c1169.
2017-07-05 20:11:05 -07:00
Michael Stack 172c662034 HBASE-18325 Disable flakey TestMasterProcedureWalLease 2017-07-05 20:10:43 -07:00
Amit Patel 9fe94c1169 HBASE-14070 - Core HLC
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-05 16:51:02 -07:00
Michael Stack b71509151e HBASE-17201 Edit of HFileBlock comments and javadoc 2017-07-05 13:32:27 -07:00
Stephen Yuan Jiang 05e3f394e2 HBASE-18301 Enable TestSimpleRegionNormalizerOnCluster#testRegionNormalizationMergeOnCluster that was disabled by Proc-V2 AM in HBASE-14614 (Stephen Yuan Jiang) 2017-07-05 09:56:30 -07:00
tedyu 4453472282 HBASE-18312 Ineffective handling of FileNotFoundException in FileLink.tryOpen() 2017-07-05 08:24:37 -07:00
anastas 2843214857 HBASE-18010: CellChunkMap integration into CompactingMemStore. Continuation of the previous commit 2017-07-05 12:56:45 +03:00
anastas 8ac4308411 HBASE-18010: CellChunkMap integration into CompactingMemStore. CellChunkMap usage is currently switched off by default. New tests are included. Review comments addressed. 2017-07-05 12:35:21 +03:00
Guanghao Zhang e71e5ece88 HBASE-18297 Provide a AsyncAdminBuilder to create new AsyncAdmin instance 2017-07-05 09:18:02 +08:00
Samir Ahmic 63607800cd HBASE-18310 LoadTestTool unable to write data
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-07-04 13:41:32 -07:00
samirMop 193a980338 HBASE-15943 Add page displaying JVM process metrics
Signed-off-by: Michael Stack <stack@apache.org>
2017-07-03 21:35:27 -07:00
Peter Somogyi f2731fc241 HBASE-18264 Update pom plugins
Update plugins in main and subprojects
Unified versions to use variable instead of direct values

Affected plugins:
- apache-rat-plugin 0.11 -> 0.12
- asciidoctor-maven-plugin 1.5.2.1 -> 1.5.5
- asciidoctorj-pdf 1.5.0-alpha.6 -> 1.5.0-alpha.15
- build-helper-maven-plugin 1.9.1 -> 3.0.0
- buildnumber-maven-plugin 1.3 -> 1.4
- exec-maven-plugin 1.2.1/1.4.0 -> 1.6.0
- extra-enforcer-rules 1.0-beta-3 -> 1.0-beta-6
- findbugs-maven-plugin 3.0.0 -> 3.0.4
- jamon-maven-plugin 2.4.1 -> 2.4.2
- maven-bundle-plugin 2.5.3 -> 3.3.0
- maven-compiler-plugin 3.2/3.5.1 -> 3.6.1
- maven-eclipse-plugin 2.9 -> 2.10
- maven-shade-plugin 2.4.1 -> 3.0.0
- maven-surefire-plugin 2.18.1 -> 2.20
- maven-surefire-report-plugin 2.7.2 -> 2.20
- scala-maven-plugin 3.2.0 -> 3.2.2
- spotbugs 3.1.0-RC1 -> 3.1.0-RC3
- wagon-ssh 2.2 -> 2.12
- xml-maven-plugin 1.0 -> 1.0.1

- maven-assembly-plugin 2.4 -> 2.6(inherited)
- maven-dependency-plugin 2.4 -> 2.10 (inherited)
- maven-enforcer-plugin 1.3.1 -> 1.4.1 (inherited)
- maven-javadoc-plugin 2.10.3 -> 2.10.4 (inherited)
- maven-resources-plugin 2.7 (inherited)
- maven-site-plugin 3.4 -> 3.5.1 (inherited)

Change-Id: I84539f555be498dff18caed1e3eea1e1aeb2143a

Signed-off-by: Michael Stack <stack@apache.org>
2017-07-03 19:42:46 -07:00
Guanghao Zhang 14f0423b58 HBASE-18283 Provide a construct method which accept a thread pool for AsyncAdmin 2017-07-04 09:51:41 +08:00
Sean Busbey fc973d0918 HBASE-17995 improve log messages during snapshot tests.
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-30 09:42:14 -05:00
Sean Busbey 74c5742024 HBASE-18288 Declared dependency on specific javax.ws.rs.
Signed-off-by: Huaxiang Sun <huaxiangsun@apache.org>
2017-06-30 08:41:50 -05:00
zhangduo 21653c31d9 HBASE-16585 Rewrite the delegation token tests with Parameterized pattern 2017-06-30 20:40:23 +08:00
Michael Stack 92f33ad076 Revert "HBASE-18229: create new Async Split API to embrace AM v2"
TestShell is failing.

This reverts commit 5be05e90d4.
2017-06-30 03:30:01 -07:00
Michael Stack 73c225a071 HBASE-16192 Fix the potential problems in TestAcidGuarantees (Colin Ma) 2017-06-30 03:16:46 -07:00
Yi Liang 5be05e90d4 HBASE-18229: create new Async Split API to embrace AM v2
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 16:20:18 -07:00
张世彬10204932 07c1e18a55 HBASE-17982 correct spelling error of 'occured'
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-29 15:09:49 -07:00
Umesh Agashe 9189b88647 HBASE-18292 Fixed flaky test hbase.master.locking.TestLockProcedure#testLocalMasterLockRecovery
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-28 21:32:46 -07:00
Umesh Agashe 038d7e8984 HBASE-18278 Enable and Fix for unit test hbase.master.procedure.TestServerCrashProcedure#testRecoveryAndDoubleExecutionOnRsWithMeta
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-28 16:01:55 -07:00
Ben-Epstein aef674264e HBASE-18281 created private static pattern matcher for performance
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-28 11:32:10 -07:00
Kahlil Oppenheimer 8da6f069c3 HBASE-18164 Fast locality computation in balancer - addendum handles NaN
Signed-off-by: tedyu <yuzhihong@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-06-27 14:57:53 -05:00
Sean Busbey 141482512a Revert "HBASE-18164 Fast locality computation in balancer - addendum handles NaN"
This reverts commit 35693f0583.

early commit missed some review feedback.
2017-06-27 14:57:53 -05:00
tedyu 293cb87d52 HBASE-18161 Incremental Load support for Multiple-Table HFileOutputFormat (Densel Santhmayor) 2017-06-27 12:31:55 -07:00
张世彬10204932 389e142eae HBASE-18265 Correct the link unuseful in regionServer's region state UI
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-06-27 10:38:46 +08:00
Kahlil Oppenheimer 35693f0583 HBASE-18164 Fast locality computation in balancer - addendum handles NaN
-Added new LocalityCostFunction and LocalityCandidateGenerator that
cache localities of every region/rack combination and mappings of every
region to its most local server and to its most local rack.

-Made LocalityCostFunction incremental so that it only computes locality
based on most recent region moves/swaps, rather than recomputing the
locality of every region in the cluster at every iteration of the
balancer

-Changed locality cost function to reflect the ratio of:
(Current locality) / (Best locality possible given current cluster)

Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-26 12:38:43 -07:00
Guanghao Zhang 2d781aa15c HBASE-18234 Revisit the async admin api 2017-06-26 17:27:09 +08:00
David Harju 0e8e176ebd HBASE-18023 Log multi-* requests for more than threshold number of rows
Signed-off-by: Josh Elser <elserj@apache.org>
2017-06-24 15:23:51 -04:00
张世彬10204932 96aca6b153 HBASE-18263 Resolve NPE in backup Master UI when accessing procedures.jsp
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-24 05:20:05 -07:00
Ramkrishna d092008766 HBASE-18221 Switch from pread to stream should happen under HStore's
reentrant lock (Ram)
2017-06-23 10:32:29 +05:30
Umesh Agashe 7cc458e129 HBASE-18254 ServerCrashProcedure checks and waits for meta initialized, instead should check and wait for meta loaded
After enabling test hbase.master.procedure.TestServerCrashProcedure#testRecoveryAndDoubleExecutionOnRsWithMeta, this bug is found in ServerCrashProcedure

Signed-off-by: Michael Stack <stack@apache.org>
2017-06-21 21:57:46 -07:00
Andrew Purtell 3489a1b821 HBASE-18235 LoadBalancer.BOGUS_SERVER_NAME should not have a bogus hostname
We deliberately use 'localhost' instead of a bogus hostname for
LoadBalancer.BOGUS_SERVER_NAME so the operation will fail fast.
2017-06-21 14:37:47 -07:00
QilinCao 00f657fbeb HBASE-18252 Resolve BaseLoadBalancer bad practice warnings
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-21 10:12:23 -07:00
tedyu 83be50c2ab HBASE-18226 Disable reverse DNS lookup at HMaster and use the hostname provided by RegionServer (Duo Xu) 2017-06-20 21:07:45 -07:00
Josh Elser 5b485d14cd HBASE-17752 Shell command to list snapshot sizes WRT quotas 2017-06-20 14:17:00 -04:00
Ashish Singhi af466bf722 HBASE-18212 reduce log level for unbuffer warning.
In Standalone mode with local filesystem HBase logs Warning message:Failed to invoke 'unbuffer' method in class org.apache.hadoop.fs.FSDataInputStream

Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-06-20 01:06:47 -05:00
Kahlil Oppenheimer 5224064d4d HBASE-18164 Fast locality computation in balancer
-Added new LocalityCostFunction and LocalityCandidateGenerator that
cache localities of every region/rack combination and mappings of every
region to its most local server and to its most local rack.

-Made LocalityCostFunction incremental so that it only computes locality
based on most recent region moves/swaps, rather than recomputing the
locality of every region in the cluster at every iteration of the
balancer

-Changed locality cost function to reflect the ratio of:
(Current locality) / (Best locality possible given current cluster)

Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-06-20 01:06:47 -05:00
Pankaj Kumar ce1ce728c6 HBASE-18180 Possible connection leak while closing BufferedMutator in TableOutputFormat
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-18 19:46:47 -07:00
Guanghao Zhang c6e71f159c HBASE-18170 Refactor ReplicationSourceWALReaderThread 2017-06-19 09:26:45 +08:00
Umesh Agashe d49208b056 HBASE-18104 AMv2: Enabled aggregation of RPCs
Unit test (TestAssignmentManager) uses mock which always aggregates. So added trace level log message and verified manually on a single node cluster.

Signed-off-by: Michael Stack <stack@apache.org>
2017-06-16 23:53:39 -07:00
Umesh Agashe b02d3d9ed5 HBASE-18227 Fixed unit test hbase.coprocessor.TestCoprocessorMetrics#testRegionObserverAfterRegionClosed
Calling closeRegion() directly on remote server is not supported post-AMv2. Calling unassign() on master

Signed-off-by: Michael Stack <stack@apache.org>
2017-06-16 20:19:38 -07:00
Josh Elser c7a64a8313 HBASE-18225 Avoid toString() on an array 2017-06-16 08:45:31 -07:00
Ramkrishna c20d9cb1a2 HBASE-18220 - Addendum as per Duo suggestion for readability (Ram) 2017-06-16 12:34:08 +05:30
Ramkrishna 020f520d17 HBASE-18220 Compaction scanners need not reopen storefile scanners while
trying to switch over from pread to stream (Ram)
2017-06-16 11:03:04 +05:30
Michael Stack dd1d81ef5a HBASE-18004 getRegionLocations needs to be called once in
ScannerCallableWithReplicas#call() (Huaxiang Sun)
2017-06-15 13:41:01 -07:00
Michael Stack c2eebfdb61 HBASE-18166 [AMv2] We are splitting already-split files v2 Address Stephen Jiang reivew comments; ADDENDUM TO FIX COMPILE 2017-06-15 11:40:13 -07:00
Michael Stack f64512bee1 HBASE-18166 [AMv2] We are splitting already-split files v2 Address Stephen Jiang reivew comments 2017-06-15 10:26:03 -07:00
tedyu 8b36da1108 HBASE-18209 Include httpclient / httpcore jars in build artifacts 2017-06-14 20:09:42 -07:00
Andrew Purtell 50e28d62a6 HBASE-18219 Fix typo in constant HConstants.HBASE_CLIENT_MEAT_REPLICA_SCAN_TIMEOUT 2017-06-14 16:02:38 -07:00
Vincent 384e308e9f HBASE-18137 Replication gets stuck for empty WALs
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-06-10 10:30:40 -07:00
Ashu Pachauri eb2dc5d2a5 HBASE-18192: Replication drops recovered queues on region server shutdown
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-09 19:52:58 -07:00
Josh Elser e5ea457054 HBASE-17748 Include HBase snapshots in space quotas
Introduces a new Chore in the Master which computes the size
of the snapshots included in a cluster. The size of these
snapshots are included in the table's which the snapshot was created
from HDFS usage.

Includes some test stabilization, trying to make the tests more
deterministic by ensuring we observe stable values as we know
that those values are mutable. This should help avoid problems
where size reports are delayed and we see an incomplete value.
2017-06-09 18:43:18 -04:00
Ashu Pachauri 7b40f4f3ec HBASE-18092: Removing a peer does not properly clean up the ReplicationSourceManager state and metrics
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-09 08:23:04 -07:00
Chia-Ping Tsai 30817b922e HBASE-18193 Master web UI presents the incorrect number of regions 2017-06-09 14:44:51 +08:00
Umesh Agashe 61839d7143 HBASE-18195 Removed redundant single quote from start message for HMaster and HRegionServer
Signed-off-by: Michael Stack <stack@apache.org>
2017-06-08 22:21:00 -07:00
Gary Helmling a558d6c57a HBASE-18141 Regionserver fails to shutdown when abort triggered during RPC call 2017-06-08 17:20:29 -07:00
Yi Liang 112bff4ba0 HBASE-18109: Assign system tables first
This issue adds comments and a sort so system tables are queued first
(which will ensure they go out first). This should be good enough
along w/ existing scheduling mechanisms to ensure system/meta get
assigned first.

Signed-off-by: Michael Stack <stack@apache.org>
2017-06-08 13:24:28 -07:00
Chia-Ping Tsai 72cb7d97cc HBASE-18008 Any HColumnDescriptor we give out should be immutable 2017-06-08 23:26:08 +08:00
Alex Araujo 3f891a66ca HBASE-18184 Add hbase-hadoop2-compat jar as MapReduce dependency
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-06-07 14:25:55 -07:00
Chia-Ping Tsai 4a1529c89b HBASE-18158 Two running in-memory compaction threads may lose data for flushing 2017-06-07 17:57:32 +08:00
Ramkrishna 1d3252eb59 HBASE-17849 PE tool random read is not totally random (Ram) 2017-06-07 11:28:09 +05:30
Michael Stack 929c9dab14 HBASE-18181 Move master branch to version 3.0.0-SNAPSHOT post creation of branch-2 2017-06-06 22:04:39 -07:00
huzheng 0d0c330401 HBASE-17678 FilterList with MUST_PASS_ONE may lead to redundant cells returned
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-06-06 21:08:12 -07:00
Phil Yang 2f1923a823 HBASE-15576 Scanning cursor to prevent blocking long time on ResultScanner.next() 2017-06-07 11:32:04 +08:00
tedyu 80e15aac21 HBASE-16392 Backup delete fault tolerance (Vladimir Rodionov) 2017-06-06 20:29:13 -07:00
Chia-Ping Tsai da3c023635 HBASE-18145 The flush may cause the corrupt data for reading
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-06-06 18:02:43 -07:00
Andrew Purtell 858bccfcb8 HBASE-18132 Low replication should be checked in period in case of datanode rolling upgrade (Allan Yang) 2017-06-06 17:21:21 -07:00
Ashish Singhi 1950acc67a HBASE-9393 Hbase does not closing a closed socket resulting in many CLOSE_WAIT
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-06-06 12:52:46 -07:00
zhangduo ee0f148c73 HBASE-18038 Rename StoreFile to HStoreFile and add a StoreFile interface for CP 2017-06-06 20:36:38 +08:00
Umesh Agashe 07c38e7165 HBASE-16549 Added new metrics for AMv2 procedures
Following AMv2 procedures are modified to override onSubmit(), onFinish() hooks provided by HBASE-17888 to do
metrics calculations when procedures are submitted and finshed:
* AssignProcedure
* UnassignProcedure
* MergeTableRegionProcedure
* SplitTableRegionProcedure
* ServerCrashProcedure

Following metrics is collected for each of the above procedure during lifetime of a process:
* Total number of requests submitted for a type of procedure
* Histogram of runtime in milliseconds for successfully completed procedures
* Total number of failed procedures

As we are moving away from Hadoop's metric2, hbase-metrics-api module is used for newly added metrics.

Modified existing tests to verify count of procedures.

Signed-off-by: Michael Stack <stack@apache.org>
2017-06-05 17:14:14 -07:00
Michael Stack e65d8653e5 HBASE-18155 TestMasterProcedureWalLease is flakey 2017-06-03 12:55:18 -07:00
Enis Soztutar 118429cbac HBASE-15160 Put back HFile's HDFS op latency sampling code and add metrics for monitoring (Yu Li and Enis Soztutar) 2017-06-02 17:41:53 -07:00
tedyu ef46debde8 HBASE-18005 read replica: handle the case that region server hosting both primary replica and meta region is down (huaxiang sun) 2017-06-02 09:29:51 -07:00
Guanghao Zhang 549171465d HBASE-18111 Replication stuck when cluster connection is closed
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-06-01 15:12:15 -07:00
Michael Stack e1f3c89b3b HBASE-18143 [AMv2] Backoff on failed report of region transition quickly goes to astronomical time scale
M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
  Rather than compound the pause time, just have backoff multiple the
  original INIT_PAUSE_TIME_MS so we go 1, 2, 5, 10, ... etc. rather than
  1, 2, 30, 600... and so on.

  Minor fixup around logging so report of failed transition is no longer
  reported as trace-level.
2017-06-01 13:01:36 -07:00
Jerry He c7a7f880dd HBASE-16261 MultiHFileOutputFormat Enhancement (Yi Liang) 2017-06-01 10:44:17 -07:00
Guanghao Zhang 123086edad HBASE-18130 Refactor ReplicationSource 2017-06-01 14:50:45 +08:00
Chinmay Kulkarni db8ce0566d HBASE 17959 Canary timeout should be configurable on a per-table basis
Added support for configuring read/write timeouts on a per-table basis
when in region mode.
Added unit test for per-table timeout checks.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-05-31 17:58:43 -07:00
Michael Stack 3975bbd008 HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi) Move to a new AssignmentManager, one that describes Assignment using a State Machine built on top of ProcedureV2 facility.
This doc. keeps state on where we are at w/ the new AM:
https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.vfdoxqut9lqn
Includes list of tests disabled by this patch with reasons why.

Based on patches from Matteos' repository and then fix up to get it all to pass cluster
tests, filling in some missing functionality, fix of findbugs, fixing bugs, etc..
including:

    1. HBASE-14616 Procedure v2 - Replace the old AM with the new AM.
    The basis comes from Matteo's repo here:
    689227fcbf

    Patch replaces old AM with the new under subpackage master.assignment.
    Mostly just updating classes to use new AM -- import changes -- rather
    than the old. It also removes old AM and supporting classes.
    See below for more detail.

    2. HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
    3622cba4e3

    Adds running of remote procedure. Adds batching of remote calls.
    Adds support for assign/unassign in procedures. Adds version info
    reporting in rpc. Adds start of an AMv2.

    3. Reporting of remote RS version is from here:
    ddb4df3964.patch

    4. And remote dispatch of procedures is from:
    186b9e7c4d

    5. The split merge patches from here are also melded in:
    9a3a95a2c2
    and d6289307a0

We add testing util for new AM and new sets of tests.

Does a bunch of fixup on logging so its possible to follow a procedures' narrative by grepping
procedure id. We spewed loads of log too on big transitions such as master fail; fixed.

Fix CatalogTracker. Make it use Procedures doing clean up of Region data on split/merge.
Without these changes, ITBLL was failing at larger scale (3-4hours 5B rows) because we were
splitting split Regions among other things (CJ would run but wasn't
taking lock on Regions so havoc).

    Added a bunch of doc. on Procedure primitives.

    Added new region-based state machine base class. Moved region-based
    state machines on to it.

    Found bugs in the way procedure locking was doing in a few of the
    region-based Procedures. Having them all have same subclass helps here.

    Added isSplittable and isMergeable to the Region Interface.

    Master would split/merge even though the Regions still had
    references. Fixed it so Master asks RegionServer if Region
    is splittable.

    Messing more w/ logging. Made all procedures log the same and report
    the state the same; helps when logging is regular.

    Rewrote TestCatalogTracker. Enabled TestMergeTableRegionProcedure.

    Added more functionality to MockMasterServices so can use it doing
    standalone testing of Procedures (made TestCatalogTracker use it
    instead of its own version).

    Add to MasterServices ability to wait on Master being up -- makes
    it so can Mock Master and start to implement standalone split testing.
    Start in on a Split region standalone test in TestAM.

    Fix bug where a Split can fail because it comes in in the middle of
    a Move (by holding lock for duration of a Move).

    Breaks CPs that were watching merge/split. These are run by Master now
    so you need to observe on Master, not on RegionServer.

    Details:

    M hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
    Takes List of regionstates on construction rather than a Set.
    NOTE!!!!! This is a change in a public class.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
    Add utility getShortNameToLog

    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.java
    Add support for dispatching assign, split and merge processes.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/master/RegionState.java
    Purge old overlapping states: PENDING_OPEN, PENDING_CLOSE, etc.

    M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
    Lots of doc on its inner workings. Bug fixes.

    M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
    Log and doc on workings. Bug fixes.

    A hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java
    Dispatch remote procedures every 150ms or 32 items -- which ever
    happens first (configurable). Runs a timeout thread. This facility is
    not on yet; will come in as part of a later fix. Currently works a
    region at a time. This class carries notion of a remote procedure and of a buffer full of these.
    "hbase.procedure.remote.dispatcher.threadpool.size" with default = 128
    "hbase.procedure.remote.dispatcher.delay.msec" with default = 150ms
    "hbase.procedure.remote.dispatcher.max.queue.size" with default = 32

    M hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
    Add in support for merge. Remove no-longer used methods.

    M hbase-protocol-shaded/src/main/protobuf/Admin.proto b/hbase-protocol-shaded/src/main/protobuf/Admin.proto
    Add execute procedures call ExecuteProcedures.

    M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
    Add assign and unassign state support for procedures.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
    Adds getting RS version out of RPC
    Examples: (1.3.4 is 0x0103004, 2.1.0 is 0x0201000)

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
    Remove periodic metrics chore. This is done over in new AM now.
    Replace AM with the new. Host the procedures executor.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
    Have AMv2 handle assigning meta.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
    Extract version number of the server making rpc.

    A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
    Add new assign procedure. Runs assign via Procedure Dispatch.
    There can only be one RegionTransitionProcedure per region running at the time,
    since each procedure takes a lock on the region.

    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignCallable.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/BulkAssigner.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java
    Remove these hacky classes that were never supposed to live longer than
    a month or so to be replaced with real assigners.

    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStateStore.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
    D hbase-server/src/main/java/org/apache/hadoop/hbase/master/UnAssignCallable.java

    A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
    A procedure-based AM (AMv2).

    TODO
     - handle region migration
     - handle meta assignment first
     - handle sys table assignment first (e.g. acl, namespace)
     - handle table priorities
      "hbase.assignment.bootstrap.thread.pool.size"; default size is 16.
      "hbase.assignment.dispatch.wait.msec"; default wait is 150
      "hbase.assignment.dispatch.wait.queue.max.size"; wait max default is 100
      "hbase.assignment.rit.chore.interval.msec"; default is 5 * 1000;
      "hbase.assignment.maximum.attempts"; default is 10;

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
     Procedure that runs subprocedure to unassign and then assign to new location

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
     Manage store of region state (in hbase:meta by default).

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
     In-memory state of all regions. Used by AMv2.

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
     Base RIT procedure for Assign and Unassign.

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
     Unassign procedure.

     A hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
     Run region assignement in a manner that pays attention to target server version.
     Adds "hbase.regionserver.rpc.startup.waittime"; defaults 60 seconds.
2017-05-31 17:49:11 -07:00
Phil Yang 9cf1a08c53 HBASE-18122 Scanner id should include ServerName of region server 2017-05-31 13:57:05 +08:00
Andrew Purtell d547feac6b HBASE-18027 HBaseInterClusterReplicationEndpoint should respect RPC limits when batching edits 2017-05-30 14:24:51 -07:00
zhangduo 6846b03944 HBASE-18042 Client Compatibility breaks between versions 1.2 and 1.3 2017-05-27 17:55:49 +08:00
zhangduo efc7edc81a HBASE-18115 Move SaslServer creation to HBaseSaslRpcServer 2017-05-27 11:38:41 +08:00
Guanghao Zhang 97484f2aaf HBASE-18114 Update the config of TestAsync*AdminApi to make test stable 2017-05-27 11:11:40 +08:00
Ramkrishna 8b5c161cbf HBASE-17777 TestMemstoreLAB#testLABThreading runs too long for a small
test (Ram)
2017-05-26 17:15:04 +05:30
huzheng b076b8e794 HBASE-18120 (addendum) Fix TestAsyncRegionAdminApi
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-26 16:39:42 +08:00
huzheng 712beb305e HBASE-18120 Fix TestAsyncRegionAdminApi
Signed-off-by: Michael Stack <stack@apache.org>
2017-05-25 23:10:16 -07:00
huzheng f441ca0458 HBASE-16011 TableSnapshotScanner and TableSnapshotInputFormat can produce duplicate rows if split table.
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-05-25 12:47:43 -07:00
tedyu 3e426b2f85 HBASE-18099 FlushSnapshotSubprocedure should wait for concurrent Region#flush() to finish 2017-05-25 04:41:29 -07:00
Michael Stack a3c5a74487 Revert "HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)"
Revert a mistaken commit!!!

This reverts commit dc1065a85d.
2017-05-24 23:31:36 -07:00
Michael Stack dc1065a85d HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
Move to a new AssignmentManager, one that describes Assignment using
a State Machine built on top of ProcedureV2 facility.

This doc. keeps state on where we are at w/ the new AM:
https://docs.google.com/document/d/1eVKa7FHdeoJ1-9o8yZcOTAQbv0u0bblBlCCzVSIn69g/edit#heading=h.vfdoxqut9lqn
Includes list of tests disabled by this patch with reasons why.

Based on patches from Matteos' repository and then fix up to get it all to pass cluster
tests, filling in some missing functionality, fix of findbugs, fixing bugs, etc..
including:

1. HBASE-14616 Procedure v2 - Replace the old AM with the new AM.
The basis comes from Matteo's repo here:
689227fcbf

Patch replaces old AM with the new under subpackage master.assignment.
Mostly just updating classes to use new AM -- import changes -- rather
than the old. It also removes old AM and supporting classes.
See below for more detail.

2. HBASE-14614 Procedure v2 - Core Assignment Manager (Matteo Bertozzi)
3622cba4e3

Adds running of remote procedure. Adds batching of remote calls.
Adds support for assign/unassign in procedures. Adds version info
reporting in rpc. Adds start of an AMv2.

3. Reporting of remote RS version is from here:
ddb4df3964.patch

4. And remote dispatch of procedures is from:
186b9e7c4d

5. The split merge patches from here are also melded in:
9a3a95a2c2
and d6289307a0

We add testing util for new AM and new sets of tests.

Does a bunch of fixup on logging so its possible to follow a procedures' narrative by grepping
procedure id. We spewed loads of log too on big transitions such as master fail; fixed.

Fix CatalogTracker. Make it use Procedures doing clean up of Region data on split/merge.
Without these changes, ITBLL was failing at larger scale (3-4hours 5B rows) because we were
splitting split Regions among other things (CJ would run but wasn't
taking lock on Regions so havoc).

Added a bunch of doc. on Procedure primitives.

Added new region-based state machine base class. Moved region-based
state machines on to it.

Found bugs in the way procedure locking was doing in a few of the
region-based Procedures. Having them all have same subclass helps here.

Added isSplittable and isMergeable to the Region Interface.

Master would split/merge even though the Regions still had
references. Fixed it so Master asks RegionServer if Region
is splittable.

Messing more w/ logging. Made all procedures log the same and report
the state the same; helps when logging is regular.

Rewrote TestCatalogTracker. Enabled TestMergeTableRegionProcedure.

Added more functionality to MockMasterServices so can use it doing
standalone testing of Procedures (made TestCatalogTracker use it
instead of its own version).

Add to MasterServices ability to wait on Master being up -- makes
it so can Mock Master and start to implement standalone split testing.
Start in on a Split region standalone test in TestAM.

Fix bug where a Split can fail because it comes in in the middle of
a Move (by holding lock for duration of a Move).

Breaks CPs that were watching merge/split. These are run by Master now
so you need to observe on Master, not on RegionServer.

Details:

M hbase-client/src/main/java/org/apache/hadoop/hbase/ClusterStatus.java
Takes List of regionstates on construction rather than a Set.
NOTE!!!!! This is a change in a public class.

M hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
Add utility getShortNameToLog

M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionImplementation.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ShortCircuitMasterConnection.java
Add support for dispatching assign, split and merge processes.

M hbase-client/src/main/java/org/apache/hadoop/hbase/master/RegionState.java
Purge old overlapping states: PENDING_OPEN, PENDING_CLOSE, etc.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/Procedure.java
Lots of doc on its inner workings. Bug fixes.

M hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/ProcedureExecutor.java
Log and doc on workings. Bug fixes.

A hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java
Dispatch remote procedures every 150ms or 32 items -- which ever
happens first (configurable). Runs a timeout thread. This facility is
not on yet; will come in as part of a later fix. Currently works a
region at a time. This class carries notion of a remote procedure and of a buffer full of these.
"hbase.procedure.remote.dispatcher.threadpool.size" with default = 128
"hbase.procedure.remote.dispatcher.delay.msec" with default = 150ms
"hbase.procedure.remote.dispatcher.max.queue.size" with default = 32

M hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java
Add in support for merge. Remove no-longer used methods.

M hbase-protocol-shaded/src/main/protobuf/Admin.proto b/hbase-protocol-shaded/src/main/protobuf/Admin.proto
Add execute procedures call ExecuteProcedures.

M hbase-protocol-shaded/src/main/protobuf/MasterProcedure.proto
Add assign and unassign state support for procedures.

M hbase-server/src/main/java/org/apache/hadoop/hbase/client/VersionInfoUtil.java
Adds getting RS version out of RPC
Examples: (1.3.4 is 0x0103004, 2.1.0 is 0x0201000)

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
Remove periodic metrics chore. This is done over in new AM now.
Replace AM with the new. Host the procedures executor.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterMetaBootstrap.java
Have AMv2 handle assigning meta.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
Extract version number of the server making rpc.

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
Add new assign procedure. Runs assign via Procedure Dispatch.
There can only be one RegionTransitionProcedure per region running at the time,
since each procedure takes a lock on the region.

D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignCallable.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/BulkAssigner.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/GeneralBulkAssigner.java
Remove these hacky classes that were never supposed to live longer than
a month or so to be replaced with real assigners.

D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStateStore.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/RegionStates.java
D hbase-server/src/main/java/org/apache/hadoop/hbase/master/UnAssignCallable.java

A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
A procedure-based AM (AMv2).

TODO
 - handle region migration
 - handle meta assignment first
 - handle sys table assignment first (e.g. acl, namespace)
 - handle table priorities
  "hbase.assignment.bootstrap.thread.pool.size"; default size is 16.
  "hbase.assignment.dispatch.wait.msec"; default wait is 150
  "hbase.assignment.dispatch.wait.queue.max.size"; wait max default is 100
  "hbase.assignment.rit.chore.interval.msec"; default is 5 * 1000;
  "hbase.assignment.maximum.attempts"; default is 10;

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MoveRegionProcedure.java
 Procedure that runs subprocedure to unassign and then assign to new location

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStateStore.java
 Manage store of region state (in hbase:meta by default).

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionStates.java
 In-memory state of all regions. Used by AMv2.

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/RegionTransitionProcedure.java
 Base RIT procedure for Assign and Unassign.

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/UnassignProcedure.java
 Unassign procedure.

 A hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
 Run region assignement in a manner that pays attention to target server version.
 Adds "hbase.regionserver.rpc.startup.waittime"; defaults 60 seconds.
2017-05-24 20:47:25 -07:00
Amit Patel 8b75e9ed91 HBASE-18101 Fix type mismatch on container access
Signed-off-by: Michael Stack <stack@apache.org>
2017-05-24 19:59:16 -07:00
Umesh Agashe 837bb9ece7 HBASE-18091 Added API for getting who currently holds a lock on namespace/ table/ region/ server and log messages when procedure needs to wait to acquire lock
Signed-off-by: Michael Stack <stack@apache.org>
2017-05-24 14:56:22 -07:00
Yu Li 998bd5f90e HBASE-18084 Improve CleanerChore to clean from directory which consumes more disk space 2017-05-24 16:41:04 +08:00
Balazs Meszaros 80dd8bf51b HBASE-18096 Limit HFileUtil visibility and add missing annotations
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-05-24 16:34:59 +08:00
Stephen Yuan Jiang 1d0295f4e2 HBASE-18093 Overloading the meaning of 'enabled' in Quota Manager to indicate either quota disabled or quota manager not ready is not good (Stephen Yuan Jiang) 2017-05-23 06:40:33 -07:00
zhangduo 3f75ba195c HBASE-18013 Write response directly instead of creating a fake call when setup connection 2017-05-23 15:09:08 +08:00
tedyu 28d619b22b HBASE-17850 Backup system repair utility (Vladimir Rodionov) 2017-05-22 16:25:59 -07:00
Josh Elser f1a9990328 HBASE-17977 Enable the MasterSpaceQuotaObserver by default
It should be the normal case that HBase automatically deletes
quotas for deleted tables. Switch the Observer to be on by
default and add an option to instead prevent it from being added.
2017-05-22 13:41:36 -04:00
Josh Elser b971b449e8 HBASE-17978 Ensure superusers can circumvent actions restricted by space quota violations 2017-05-22 13:41:36 -04:00
Josh Elser ed618da906 HBASE-17981 Consolidate the space quota shell commands 2017-05-22 13:41:36 -04:00
Josh Elser d671a1dbc6 HBASE-17955 Various reviewboard improvements to space quota work
Most notable change is to cache SpaceViolationPolicyEnforcement objects
in the write path. When a table has no quota or there is not SpaceQuotaSnapshot
for that table (yet), we want to avoid creating lots of
SpaceViolationPolicyEnforcement instances, caching one instance
instead. This will help reduce GC pressure.
2017-05-22 13:41:36 -04:00
Josh Elser 98ace3d586 HBASE-17447 Implement a MasterObserver for automatically deleting space quotas
When a table or namespace is deleted, it would be nice to automatically
delete the quota on said table/NS. It's possible that not all people
would want this functionality so we can leave it up to the user to
configure this Observer.
2017-05-22 13:41:35 -04:00
Josh Elser a8460b8bad HBASE-17794 Swap "violation" for "snapshot" where appropriate
A couple of variables and comments in which violation is incorrectly
used to describe what the code is doing. This was a hold over from early
implementation -- need to scrub these out for clarity.
2017-05-22 13:41:35 -04:00
Josh Elser 13af7f8ac6 HBASE-17002 JMX metrics and some UI additions for space quotas 2017-05-22 13:41:35 -04:00
Josh Elser 91b4d2e827 HBASE-17568 Better handle stale/missing region size reports
* Expire region reports in the master after a timeout.
* Move regions in violation out of violation when insufficient
    region size reports are observed.
2017-05-22 13:41:35 -04:00
Josh Elser 8159eae781 HBASE-17602 Reduce some quota chore periods/delays 2017-05-22 13:41:35 -04:00
Josh Elser f031b69969 HBASE-17516 Correctly handle case where table and NS quotas both apply
The logic surrounding when a table and namespace quota both apply
to a table was incorrect, leading to a case where a table quota
violation which should have fired did not because of the less-strict
namespace quota.
2017-05-22 13:41:35 -04:00
Josh Elser 80a1f8fa2a HBASE-17428 Implement informational RPCs for space quotas
Create some RPCs that can expose the in-memory state that the
RegionServers and Master hold to drive the space quota "state machine".
Then, create some hbase shell commands to interact with those.
2017-05-22 13:41:35 -04:00
Josh Elser 4ad49bc3ac HBASE-17478 Avoid reporting FS use when quotas are disabled
Also, gracefully produce responses when quotas are disabled.
2017-05-22 13:41:35 -04:00
Josh Elser 6c9082fe16 HBASE-17259 API to remove space quotas on a table/namespace 2017-05-22 13:41:35 -04:00
Josh Elser 34ba143fc8 HBASE-17001 Enforce quota violation policies in the RegionServer
The nuts-and-bolts of filesystem quotas. The Master must inform
RegionServers of the violation of a quota by a table. The RegionServer
must apply the violation policy as configured. Need to ensure
that the proper interfaces exist to satisfy all necessary policies.

This required a massive rewrite of the internal tracking by
the general space quota feature. Instead of tracking "violations",
we need to start tracking "usage". This allows us to make the decision
at the RegionServer level as to when the files in a bulk load request
should be accept or rejected which ultimately lets us avoid bulk loads
dramatically exceeding a configured space quota.
2017-05-22 13:41:35 -04:00
Josh Elser 98b4181f43 HBASE-16999 Implement master and regionserver synchronization of quota state
* Implement the RegionServer reading violation from the quota table
* Implement the Master reporting violations to the quota table
* RegionServers need to track its enforced policies
2017-05-22 13:41:35 -04:00
Josh Elser 533470f8c8 HBASE-16998 Implement Master-side analysis of region space reports
Adds a new Chore to the Master that analyzes the reports that are
sent by RegionServers. The Master must then, for all tables with
quotas, determine the tables that are violating quotas and move
those tables into violation. Similarly, tables no longer violating
the quota can be moved out of violation.

The Chore is the "stateful" bit, managing which tables are and
are not in violation. Everything else is just performing
computation and informing the Chore on the updated state.

Added InterfaceAudience annotations and clean up the QuotaObserverChore
constructor. Cleaned up some javadoc and QuotaObserverChore. Reuse
the QuotaViolationStore impl objects.
2017-05-22 13:41:35 -04:00
tedyu 7fb0ac26e3 HBASE-17557 HRegionServer#reportRegionSizesForQuotas() should respond to UnsupportedOperationException 2017-05-22 13:41:35 -04:00
Josh Elser 6b334cd817 HBASE-17000 Implement computation of online region sizes and report to the Master
Includes a trivial implementation of the Master-side collection to
avoid. Only enough to write a test to verify RS collection.
2017-05-22 13:41:35 -04:00
tedyu f74e051bce HBASE-16996 Implement storage/retrieval of filesystem-use quotas into quota table (Josh Elser) 2017-05-22 13:41:35 -04:00
Apekshit Sharma 23ea2c36f5 HBASE-18068 Fix flaky test TestAsyncSnapshotAdminApi
- internalRestoreSnapshot() returns future which completes by just getting proc_id from master. Changed it to wait for the procedure to complete.
- Refactor TestAsyncSnapshotAdminApi: Add cleanup() which deletes all tables and snapshots after every test run. Simplifies individual tests.

Change-Id: Idc30fb699db32d58fd0f60da220953a430f1d3cc
2017-05-22 09:20:37 -07:00
Guanghao Zhang 3aac047a4f HBASE-18069 Fix flaky test TestReplicationAdminWithClusters#testDisableAndEnableReplication 2017-05-22 17:17:25 +08:00
Josh Elser 709f5a1980 HBASE-18075 Support non-latin table names and namespaces 2017-05-21 22:24:12 -04:00
zhangduo 1ceb25cf09 HBASE-18081 The way we process connection preamble in SimpleRpcServer is broken 2017-05-21 20:36:33 +08:00
anastas 1520c8fd4d HBASE-18056 Make the default behavior of CompactionPipeline to merge it segments into one, due to better read performance in this case 2017-05-21 12:27:57 +03:00
Umesh Agashe 8b70d043e4 HBASE-18071 Fix flaky test TestStochasticLoadBalancer#testBalanceCluster
Test was failing on clusters with large number of servers or regions. Using commonly using config settings like some other tests seems to work.

Signed-off-by: Michael Stack <stack@apache.org>
2017-05-19 11:09:28 -07:00
Guanghao Zhang 3fe4b28bb0 HBASE-15616 Allow null qualifier for all table operations 2017-05-19 17:47:08 +08:00
tedyu 958cd2d1b7 HBASE-18035 Meta replica does not give any primaryOperationTimeout to primary meta region (huaxiang sun) 2017-05-18 15:56:41 -07:00
Jingcheng Du 6dc4190c07 HBASE-18049 It is not necessary to re-open the region when MOB files cannot be found 2017-05-18 18:54:58 +08:00
huzheng 37dd8ff722 HBASE-11013: Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-18 17:39:50 +08:00
Chia-Ping Tsai 32d2062b5c HBASE-18019 Close redundant memstore scanners 2017-05-18 16:07:21 +08:00
Guanghao Zhang 62d7323023 HBASE-18053 AsyncTableResultScanner will hang when scan wrong column family 2017-05-17 12:16:51 +08:00
Umesh Agashe c1b45a2c45 HBASE-18016 Changes to inherit default behavior of abort from StateMachineProcedure making TruncateTableProcedure abortable
This will allow abort and manual cleanup of stuck instances of TruncateTableProcedure.

Signed-off-by: Michael Stack <stack@apache.org>
2017-05-16 18:57:54 -07:00
Umesh Agashe 5eb1b7b96c HBASE-18018 Changes to support abort for all procedures by default
The default behavior for abort() method of StateMachineProcedure is changed to support aborting all procedures irrespective of if rollback is supported or not. Currently its observed that sometimes procedures may fail on a step which will be considered as retryable error as abort is not supported. As a result procedure may stuck in a endless loop repeating same step again.User should have an option to abort any stuck procedure and do clean up manually. Please refer to HBASE-18016 and discussion there.

Signed-off-by: Michael Stack <stack@apache.org>
2017-05-16 18:56:32 -07:00
anoopsamjohn 67d1358311 HBASE-18043 Institute a hard limit for individual cell size that cannot be overridden by clients. - Addendum to fix test issue in TestMobStoreScanner. 2017-05-16 18:53:27 +05:30
zhangduo ad9ffaaafd HBASE-18055 Releasing L2 cache HFileBlocks before shipped() when switching from pread to stream causes result corruption 2017-05-16 21:16:36 +08:00
Andrew Purtell 6b60ba8ade HBASE-18043 Institute a hard limit for individual cell size that cannot be overridden by clients 2017-05-15 18:03:33 -07:00
zhangduo 341223d86c HBASE-18012 Move RpcServer.Connection to a separated file 2017-05-15 18:07:38 +08:00
anastas 5cdaca5c00 HBASE-16436 Adding CellChunkMap code, its tests and fixes to all code review comments 2017-05-14 16:04:36 +03:00
tedyu 305ffcb040 HBASE-17938 General fault - tolerance framework for backup/restore operations (Vladimir Rodionov) 2017-05-12 09:27:58 -07:00
Umesh Agashe da68537ae6 HBASE-17786 Create LoadBalancer perf-test tool to benchmark Load Balancer algorithm performance
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-05-12 11:22:15 -05:00
Chia-Ping Tsai b34ab5980e HBASE-17887 Row-level consistency is broken for read 2017-05-12 19:45:07 +08:00
tedyu 5e046151d6 HBASE-11013: Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions - revert, pending work in snapshot descriptor 2017-05-11 18:53:14 -07:00
tedyu b3dcfb659e HBASE-17928 Shell tool to clear compaction queues (Guangxu Cheng) 2017-05-11 18:47:12 -07:00
tedyu d8d4ba7c59 HBASE-17928 Shell tool to clear compaction queues - revert pending work in snapshot descriptor 2017-05-11 18:43:59 -07:00
Andrew Purtell c833473619 Amend HBASE-18000 Make sure we always return the scanner id with ScanResponse (Karan Mehta and Duo Zhang)
Move getRegionScanner() call below builder.setScannerId() to handle a
corner case.
2017-05-11 14:35:23 -07:00
zhangduo 0ae0edcd63 HBASE-17917 Use pread by default for all user scan 2017-05-11 11:28:22 +08:00
anastas c5cc81d8e3 HBASE-17343 Changing the default type of CompactingMemStore to be BASIC 2017-05-10 09:02:26 +03:00
Roman Nikitchenko 3bcc475ee2 HBASE-8758 Error in RegionCoprocessorHost class preScanner method documentation
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-05-10 11:35:45 +08:00
tedyu 815b0f853b HBASE-17928 Shell tool to clear compaction queues (Guangxu Cheng) 2017-05-09 18:32:38 -07:00
Andrew Purtell c38bf12444 HBASE-18017 Reduce frequency of setStoragePolicy failure warnings 2017-05-09 12:08:05 -07:00
huzheng 951b23a44c HBASE-11013: Clone Snapshots on Secure Cluster Should provide option to apply Retained User Permissions
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-05-09 09:32:48 -07:00
zhangduo 51d4c68b7c HBASE-18009 Move RpcServer.Call to a separated file 2017-05-09 14:56:03 +08:00
Andrew Purtell 959deb0e5c HBASE-17924 Consider sorting the row order when processing multi() ops before taking rowlocks
(Allan Yang)
2017-05-08 16:23:13 -07:00
Andrew Purtell 3dc38a4ff1 HBASE-18015 Storage class aware block placement for procedure v2 WALs 2017-05-08 14:11:27 -07:00
zhangduo e99ed99bee HBASE-18000 Make sure we always return the scanner id with ScanResponse
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-05-05 11:38:34 -07:00
huzheng 2026540ea3 HBASE-17667: Implement async flush/compact region methods
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-05 21:12:49 +08:00
Zach York 01af27061e HBASE-17990 Refactor TestFSUtils to use Before
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-05-04 14:40:40 -07:00
Sean Busbey 0fb1fd1200 HBASE-17964 ensure hbase-metrics-api is included in mapreduce job classpaths
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2017-05-04 10:39:14 -05:00
tedyu 52119200bc HBASE-17991 Add more details about compaction queue on /dump (Guangxu Cheng) 2017-05-04 08:24:58 -07:00
Sukumar Maddineni 2de6b051f6 HBASE-16466 Snapshots support in VerifyReplication tool
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-05-03 14:22:18 -07:00
Chinmay Kulkarni 78f6799f4d Addendum patch for HBASE-12870. Added check for null pointer.
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-05-03 14:03:16 -07:00
huzheng ff998ef74f HBASE-17867: Implement async procedure RPC API(list/exec/abort/isFinished)
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-05-03 21:46:37 +08:00
Guanghao Zhang 91995749c2 HBASE-17958 Avoid passing unexpected cell to ScanQueryMatcher when optimize SEEK to SKIP 2017-05-03 21:28:43 +08:00
binlijin 4dbd025ccf HBASE-17263 Netty based rpc server impl
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-05-03 17:23:26 +08:00
ckulkarni 30d0c3fdde HBASE-12870 "Major compaction triggered" and "Skipping major compaction" messages lack the region information
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-05-02 10:54:15 -07:00
Jan Hentschel 17007685c1 HBASE-13074 Cleaned up usage of hbase.master.lease.thread.wakefrequency
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-05-02 23:12:02 +08:00
Gábor Lipták c8a7e80e0a HBASE-14286 Correct typo in argument name for WALSplitter.writeRegionSequenceIdFile
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-05-02 10:01:55 +08:00
yoshida.shinya ef94de3eb7 HBASE-17957 Custom metrics of replicate endpoints don't prepend "source." to global metrics
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-05-01 08:11:59 -07:00
Abhishek Kumar 1848353fd6 HBASE-17879: Avoid NPE in snapshot.jsp when accessing without any request parameter
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-04-29 10:51:46 +08:00
Sean Busbey ba12cdf138 HBASE-17975 TokenUtil should throw remote exception rather than squash it.
Signed-off-by: Josh Elser <elserj@apache.org>
Signed-off-by: Ted Yu <tedyu@apache.org>
Signed-off-by: Umesh Agashe <uagashe@cloudera.com>
2017-04-28 13:19:33 -05:00
zhangduo 73d80bb416 HBASE-17970 Set yarn.app.mapreduce.am.staging-dir when starting MiniMRCluster
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-28 12:37:00 -05:00
QilinCao 03e8f6b56e HBASE-17835 Spelling mistakes in the Java source
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-28 11:25:57 -05:00
Jonathan M Hsieh 43f3fccb7b HBASE-17920 TestFSHDFSUtils always fails against hadoop 3.0.0-alpha2
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-28 11:25:14 -05:00
Steen Manniche 635c9db815 HBASE-17817 add table name to output (if available) when removing coprocessors
Amending-Author: Sean Busbey <busbey@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
2017-04-28 11:24:00 -05:00
tedyu 5411d3ecb1 HBASE-17972 Remove mergePool from CompactSplitThread (Guangxu Cheng) 2017-04-28 06:52:10 -07:00
Ramkrishna b401a35fdc HBASE-17950 Write the chunkId also as Int instead of long into the first
byte of the chunk (Ram)
2017-04-28 14:44:46 +05:30
Allan Yang c4cbb419a3 HBASE-17757 Unify blocksize after encoding to decrease memory fragment
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2017-04-28 07:25:36 +05:30
huzheng 4bc0eb31c3 HBASE-17865: Implement async listSnapshot/deleteSnapshot methods.
Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-04-28 09:09:13 +08:00
Karan Mehta 880db3eee4 HBASE-17965 Canary tool should print the regionserver name on failure
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-04-26 18:30:13 -07:00
Thiruvel Thirumoolan 6bad35e728 HBASE-16942 Add FavoredStochasticLoadBalancer and FN Candidate generators
Signed-off-by: Francis Liu <toffer@apache.org>
2017-04-26 18:11:45 -07:00
Chia-Ping Tsai 053e61541e HBASE-15583 Any HTableDescriptor we give out should be immutable 2017-04-27 03:22:29 +08:00
zhangduo 8973582bc6 HBASE-17956 Raw scan should ignore TTL 2017-04-26 15:03:53 +08:00
Balazs Meszaros 2557506415 HBASE-15143 Procedure v2 - Web UI displaying queues
Signed-off-by: Michael Stack <stack@apache.org>
2017-04-25 09:39:28 -07:00
zhangduo 72fac37981 HBASE-17952 The new options for PE tool do not work 2017-04-25 09:34:49 +08:00
tedyu 435104af70 HBASE-17302 The region flush request disappeared from flushQueue - addendum (Guangxu Cheng) 2017-04-23 07:37:34 -07:00