Commit Graph

6527 Commits

Author SHA1 Message Date
Vasudevan 467a4667d8 HBASE-19629 RawCell#getTags should return the Iterator<Tag> in order to avoid iterating through whole tag array at once
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-27 21:33:42 +08:00
BELUGA BEHR 0e85a880fb HBASE-19615 CompositeImmutableSegment ArrayList Instead of LinkedList
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-27 10:04:53 +08:00
Chia-Ping Tsai 0e7fff5829 HBASE-19624 TestIOFencing hangs 2017-12-27 09:33:53 +08:00
Chia-Ping Tsai 7ce1943ef3 HBASE-19550 Wrap the cell passed via Mutation#add(Cell) to be of ExtendedCell 2017-12-26 16:39:51 +08:00
Guanghao Zhang 1556939236 HBASE-19621 Revisit the methods in ReplicationPeerConfigBuilder 2017-12-26 14:40:31 +08:00
Guanghao Zhang 2ce5dc8927 HBASE-19618 Remove replicationQueuesClient.class/replicationQueues.class config and remove table based ReplicationQueuesClient/ReplicationQueues implementation 2017-12-26 14:39:41 +08:00
zhangduo 27c56860da HBASE-19608 Race in MasterRpcServices.getProcedureResult 2017-12-25 11:52:34 +08:00
Guanghao Zhang 2f25589422 HBASE-19602 Cleanup the usage of ReplicationAdmin from document 2017-12-23 18:55:54 +08:00
Guanghao Zhang 0dadb45ad7 HBASE-19576 Introduce builder for ReplicationPeerConfig and make it immutable 2017-12-23 18:55:29 +08:00
tedyu c0c802f62b HBASE-19514 TestJMXListener now uses random port
Signed-off-by: Jan Hentschel <jan.hentschel@ultratendency.com>
2017-12-22 18:40:58 +01:00
Rajeshbabu Chintaguntla c0598dcb10 HBASE-19593 Possible NPE if wal is closed during waledit append.(Rajeshabbu) 2017-12-22 17:20:45 +05:30
Chia-Ping Tsai 448ba3a78f HBASE-19496 Reusing the ByteBuffer in rpc layer corrupt the ServerLoad and RegionLoad 2017-12-22 18:54:25 +08:00
Guanghao Zhang 001bce54e7 HBASE-19590 Remove the duplicate code in deprecated ReplicationAdmin 2017-12-22 18:32:15 +08:00
Apekshit Sharma 8ec0aa0d70 HBASE-19589 New regions should always be added with state CLOSED (followup of HBASE-19530) 2017-12-21 22:57:53 -08:00
Daisuke 37bf54a516 HBASE--17248 fix javadoc in SimpleRegionNormalizer
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-21 21:35:08 -08:00
Michael Stack bcaf2fd20c
HBASE-19148 Reevaluate default values of configurations; minor ADDENDUM 2017-12-21 14:14:07 -08:00
Michael Stack 4d6b928682
HBASE-19148 Reevaluate default values of configurations
Removed unused:
    <name>hbase.fs.tmp.dir</name>
Added hbase.master.loadbalance.bytable

Edit of description text. Moved stuff around  to put configs beside each
other.

M hbase-server/src/main/java/org/apache/hadoop/hbase/util/ServerCommandLine.java

 Emit some hbase configs in log on startup.

Signed-off-by: Michael Stack <stack@apache.org>
2017-12-21 14:07:16 -08:00
Chia-Ping Tsai 59baf12c03 HBASE-19575 add copy constructor to Mutation 2017-12-22 03:24:43 +08:00
Peter Somogyi 35728acd21 HBASE-19578 MasterProcWALs cleaning is incorrect
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-21 09:38:25 -08:00
zhangduo 00b0288c96 HBASE-10092 Addendum fix TestAssignProcedure and TestWALEntrySinkFilter 2017-12-21 21:43:17 +08:00
zhangduo 9a07e07e55 HBASE-19559 Fix TestLogRolling.testLogRollOnDatanodeDeath 2017-12-21 15:20:04 +08:00
Balazs Meszaros f572c4b80e HBASE-10092 Move up on to log4j2
Changes:
- replaced commons-logging to slf4j everywhere
- log.XXX(Throwable) calls were replaced with log.XXX(t.toString(), t)
- log.XXX(Object) calls were replaced with log.XXX(Objects.toString(obj))
- log.fatal() calls were replaced with log.error(HBaseMarkers.FATAL, ...)
- programmatic log4j configuration was removed from the unit test

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

Signed-off-by: Michael Stack <stack@apache.org>
2017-12-20 22:21:33 -08:00
Michael Stack 7f938dd980 HBASE-19218 Master stuck thinking hbase:namespace is assigned after restart preventing intialization
Signed-off-by: Li Xiang <easyliangjob@gmail.com>
2017-12-20 21:47:10 -08:00
Chia-Ping Tsai c811d7f965 HBASE-19542 fix TestSafemodeBringsDownMaster 2017-12-21 10:32:14 +08:00
Michael Stack 4d71f4e32f
HBASE-19567 ClassNotFoundException:
org.apache.hadoop.hbase.KeyValue$RawBytesComparator starting 2.0.0 over
a 0.98.25 data.
2017-12-20 11:21:06 -08:00
zhangduo 084e324fb9
HBASE-19554 For debug: Modify HTU.waitUntilAllRegionsAssigned to handle the case where we do not have entries for the given table 2017-12-20 10:15:18 -08:00
Guangxu Cheng 55fefd4b5a HBASE-19561 maxCacheSize in CacheEvictionStats can't be accumulated repeatedly When dealing with each region
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-20 07:05:05 -08:00
Guanghao Zhang cae5c2706b HBASE-19492 (addendum) Add EXCLUDE_NAMESPACE and EXCLUDE_TABLECFS support to replication peer config
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-12-20 20:49:05 +08:00
Vasudevan d2534fc570 HBASE-19468 FNFE during scans and flushes (Ram) 2017-12-20 11:09:12 +05:30
Michael Stack 3c78ad5215
HBASE-19558 TestRegionsOnMasterOptions hack so it works reliably 2017-12-19 15:59:02 -08:00
Yi Liang 70608acf28
HBASE-19556: Remove TestAssignmentManager#testGoodSplit, which no longer make sense 2017-12-19 13:55:05 -08:00
Michael Stack 32f6fd41c2
HBASE-19494 Create simple WALKey filter that can be plugged in on the Replication Sink
Implement new WALEntrySinkFilter (as opposed to WALEntryFilter) and
specify the implmentation (with a no-param constructor) in config
using property hbase.replication.sink.walentrysinkfilter

Signed-off-by: wolfgang hoschek whoscheck@cloudera.com
2017-12-19 13:48:59 -08:00
Peter Somogyi dbe409e2c7 HBASE-19555 TestSplitTransactionOnCluster is flaky
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-19 09:25:57 -08:00
Guanghao Zhang 03e79b7994 HBASE-19492 Add EXCLUDE_NAMESPACE and EXCLUDE_TABLECFS support to replication peer config 2017-12-19 16:53:43 +08:00
tedyu 7a7e55b601 HBASE-19532 AssignProcedure#COMPARATOR may produce incorrect sort order 2017-12-18 18:32:24 -08:00
Michael Stack b4056d267a
HBASE-19122 Suspect methods on Cell to be deprecated 2017-12-18 15:20:44 -08:00
Yun Chi-Shih 9d0c7c6dfb HBASE-19531 Remove needless volatile declaration
Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
2017-12-19 00:34:28 +08:00
QilinCao c8bf03f5fb HBASE-19521 HBase mob compaction needs to check hfile version
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-18 08:32:18 -08:00
zhangduo 62b591bdc7 HBASE-19546 TestMasterReplication.testCyclicReplication2 uses wrong assertion 2017-12-18 19:59:14 +08:00
Chia-Ping Tsai 988ea870ed HBASE-18309 (addendum) fix NPE in LogCleaner 2017-12-17 17:33:09 +08:00
Guanghao Zhang 979767824d HBASE-19522 The complete order may be wrong in AsyncBufferedMutatorImpl 2017-12-16 14:00:59 +08:00
Peter Somogyi 59529a78f0
HBASE-19498 Fix findbugs and error-prone warnings in hbase-client (branch-2)
Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Apekshit Sharma <appy@apache.org>
2017-12-15 15:55:51 -08:00
Michael Stack 20b42d2d70 HBASE-18352 Enable TestMasterOperationsForRegionReplicas#testCreateTableWithMultipleReplicas disabled by Proc-V2 AM in HBASE-14614
Reenables the test. Adds facility to HBaseTestingUtility so
you can pass in ports a restarted cluster should use. This
is needed so retention of region placement, on which this
test depends, can come trigger (this is why it was broke
on AMv2 commit... region placement retention is done
different in AMv2).
2017-12-15 12:47:43 -08:00
Michael Stack 89e2869e22 HBASE-19272 Deal with HBCK tests disabled by HBASE-14614 AMv2 when HBCK
works again...

I removed them
2017-12-15 12:19:49 -08:00
Mike Drob 75f512bd71 HBASE-18838 Fix hadoop3 check-shaded-invariants 2017-12-15 11:19:47 -06:00
Michael Stack 010012cbcb HBASE-18946 Stochastic load balancer assigns replica regions to the same RS
Added new bulk assign createRoundRobinAssignProcedure to complement
the existing createAssignProcedure. The former asks the balancer for
target servers to set into the created AssignProcedures. The latter
sets no target server into AssignProcedure. When no target server
is specified, we make effort at assign-time at trying to deploy the
region to its old location if there was one.

The new round robin assign procedure creator does not do this. Use
the new round robin method on table create or reenabling offline
regions. Use the old assign in ServerCrashProcedure or in
EnableTable so there is a chance we retain locality.

Bulk preassigning passing all to-be-assigned to the balancer in one
go is good for ensuring good distribution especially when read
replicas in the mix.

The old assign was single-assign scoped so region replicas could
end up on the same server.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignProcedure.java
 Cleanup around forceNewPlan. Was confusing.
 Added a Comparator to sort AssignProcedures so meta and system tables
 come ahead of user-space tables.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/AssignmentManager.java
 Remove the forceNewPlan argument on createAssignProcedure. Didn't make
 sense given we were creating a new AssignProcedure; the arg had no
 effect.

 (createRoundRobinAssignProcedures) Recast to feed all regions to the balancer in
 bulk and to sort the return so meta and system tables take precedence.

Miscellaneous fixes including keeping the Master around until all
RegionServers are down, documentation on how assignment retention
works, etc.
2017-12-15 08:53:41 -08:00
Michael Stack 11e82de8a1 HBASE-15536 Make AsyncFSWAL as our default WAL
Signed-off-by: zhangduo <zhangduo@apache.org>
2017-12-15 20:45:29 +08:00
anoopsamjohn 018a65b947 HBASE-19505 Disable ByteBufferPool by default at HM. 2017-12-15 15:43:10 +05:30
tedyu deba43b156 HBASE-19516 IntegrationTestBulkLoad and IntegrationTestImportTsv run into 'java.lang.RuntimeException: DistributedHBaseCluster@1bb564e2 not an instance of MiniHBaseCluster' (Ankit) 2017-12-14 18:37:09 -08:00
zhangduo 661491b56b HBASE-19513 Fix the wrapped AsyncFSOutput implementation 2017-12-15 09:39:36 +08:00
Michael Stack 6ab8ce9829
Revert "HBASE-18352 Enable TestMasterOperationsForRegionReplicas#testCreateTableWithMultipleReplicas"
Pushed prematurely

This reverts commit 1a173f820b.
2017-12-14 14:17:20 -08:00
Chia-Ping Tsai 70f02dbc7c
HBASE-19462 Deprecate all addImmutable methods in Put
Signed-off-by: Michael Stack <stack@apache.org>
2017-12-14 14:15:54 -08:00
Michael Stack 1a173f820b
HBASE-18352 Enable TestMasterOperationsForRegionReplicas#testCreateTableWithMultipleReplicas
disabled by Proc-V2 AM in HBASE-14614

Reenables the test. Adds facility to HBaseTestingUtility so
you can pass in ports a restarted cluster should use. This
is needed so retention of region placement, on which this
test depends, can come trigger (this is why it was broke
on AMv2 commit... region placement retention is done
different in AMv2).
2017-12-14 14:13:55 -08:00
Josh Elser 4a1c3b4210 HBASE-19267 Remove compiler-plugin mapping executions as it breaks Java8 detection
It seems like the original reason this execution filter was added is no
longer an issue for 2.0. Actually, these entries actually preclude
Eclipse from correctly using the Java8 source/target version that we
have specified (which creates numerous compilation errors in Eclipse)

Signed-off-by: Guanghao Zhang <zghao@apache.org>
2017-12-14 15:11:19 -05:00
Mike Drob 2c9ef8a471 HBASE-19289 Add flag to disable stream capability enforcement
Signed-off-by: Josh Elser <elserj@apache.org>
2017-12-14 12:19:22 -06:00
ramkrish86 d5aefbd2c7 HBASE-19511 Splits causes blocks to be cached again and so such blocks cannot be evicted from bucket cache (Ram)
Signed-off Duo Zhang, Anoop Sam John <palomino219@gmail.com, anoop.hbase@gmail.com>
2017-12-15 00:35:20 +05:30
zhangduo fe316fe7ac HBASE-19512 Move EventType and ExecutorType from hbase-client to hbase-server 2017-12-14 20:15:44 +08:00
zhangduo 7466e64abb HBASE-19510 TestDistributedLogSplitting is flakey for AsyncFSWAL 2017-12-14 15:59:41 +08:00
Michael Stack d1fb987265 HBASE-19287 Revert "Revert "master hangs forever if RecoverMeta
send assign meta region request to target server fail""

This is a revert of a revert; i.e a reapplication with the
log message fixed up and some added javadoc.

This reverts commit 9ef115163b.

Signed-off-by: Yi Liang <yliang@us.ibm.com>
2017-12-13 23:08:28 -08:00
Michael Stack 9ef115163b Revert "master hangs forever if RecoverMeta send assign meta region request to target server fail"
Reverting because missing issue JIRA #

This reverts commit d3aeaeffa4.
2017-12-13 23:06:23 -08:00
Yi Liang d3aeaeffa4 master hangs forever if RecoverMeta send assign meta region request to target server fail 2017-12-13 22:29:19 -08:00
zhangduo ba5f9ac380 HBASE-19503 Fix TestWALOpenAfterDNRollingStart for AsyncFSWAL 2017-12-14 09:41:12 +08:00
Michael Stack d28e126b29
HBASE-19508 ReadOnlyConfiguration throws exception if any Configuration in current context calls addDefautlResource; ADDENDUM -- fix license 2017-12-13 10:28:55 -08:00
Michael Stack 736dd93c31
HBASE-19508 ReadOnlyConfiguration throws exception if any Configuration in current context calls addDefautlResource
Signed-off-by: Peter Somogyi <psomogyi@cloudera.com>
2017-12-13 10:23:50 -08:00
Sergey Soldatov d0c2329aa8 HBASE-19456 RegionMover's region server hostname option is no longer case insensitive
Signed-off-by: Josh Elser <elserj@apache.org>
2017-12-13 12:03:14 -05:00
Guangxu Cheng 86043ef629 HBASE-19000 Group multiple block cache clear requests per server
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-12-13 07:47:09 -08:00
Chia-Ping Tsai 7f586995a8 HBASE-19502 Make sure we have closed all StoreFileScanner if we fail to open any StoreFileScanners 2017-12-13 21:30:08 +08:00
Chia-Ping Tsai 677c1f2c63 HBASE-19427 Add TimeRange support into Append to optimize for counters 2017-12-13 15:35:49 +08:00
Peter Somogyi 7e5f3a516c HBASE-19213 Align check and mutate operations in Table and AsyncTable
- Deprecates old checkAnd*() operations in Table
- Adds Table#CheckAndMutateBuilder and implements it in HTable

Commiter note: When committing the patch, noticed redundant {@inheritDoc} being added in HTable.
Removed new and olds ones.
2017-12-12 20:37:24 -08:00
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