Commit Graph

769 Commits

Author SHA1 Message Date
Jesse Yates a411227b0e HBASE-5162 Basic client pushback mechanism
Instead of just blocking the client for 90 seconds when the region gets too
busy, it now sends along region load stats to the client so the client can
know how busy the server is. Currently, its just the load on the memstore, but
it can be extended for other stats (e.g. cpu, general memory, etc.).

It is then up to the client to decide if it wants to listen to these stats.
By default, the client ignores the stats, but it can easily be toggled to the
built-in exponential back-off or users can plug in their own back-off
implementations
2014-12-16 11:14:30 -08:00
stack 029768287a HBASE-12422 Use ConnectionFactory in HTable constructors Fix method signature in test 2014-12-14 19:42:15 -08:00
Enis Soztutar 743d16138e HBASE-12679 Add HBaseInterfaceAudience.TOOLS and move some of the Public classes to LimitedPrivate 2014-12-14 17:46:30 -08:00
tedyu 65830b096b HBASE-12659 Replace the method calls to grant and revoke in shell scripts with AccessControlClient (Srikanth Srungarapu) 2014-12-13 10:17:43 -08:00
Jurriaan Mous 3275b964c1 HBASE-12668 Adapt PayloadCarryingRpcController so it can also be used in an async way
Signed-off-by: stack <stack@apache.org>
2014-12-12 07:44:04 -08:00
Misty Stanley-Jones 7d10af1254 HBASE-9763 Scan javadoc doesn't fully capture semantics of start and stop row (Gabriel Reid) 2014-12-12 13:39:16 +10:00
stack da2b5a9627 HBASE-12373 Provide a command to list visibility labels (Jerry He) 2014-12-11 15:18:03 -08:00
stack df22270756 HBASE-12665 When aborting, dump metrics
Add some fixup of checkstyle fails
2014-12-09 21:01:15 -08:00
Nick Dimiduk e720c83557 HBASE-12652 Allow unmanaged connections in MetaTableAccessor (Solomon Duskis) 2014-12-09 11:27:34 -08:00
Matteo Bertozzi 8a2c84156a HBASE-12564 consolidate the getTableDescriptors() semantic 2014-12-09 12:06:00 +00:00
Jurriaan Mous a8e6461855 HBASE-12597
Signed-off-by: stack <stack@apache.org>
2014-12-08 15:40:09 -08:00
stack 1a27cb7b0f Revert "HBASE-12597 Add RpcClient interface and enable changing of RpcClient implementation (Jurriaan Mous)"
Revert partial commit of HBASE-12597

This reverts commit 4be2034a26.
2014-12-08 15:35:50 -08:00
stack b8ab1b176c Revert "HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- ADDED DEBUG"
Accidental commit. Reverting.

This reverts commit 2458be08ed.
2014-12-08 15:34:53 -08:00
stack 4be2034a26 HBASE-12597 Add RpcClient interface and enable changing of RpcClient implementation (Jurriaan Mous) 2014-12-08 15:13:50 -08:00
stack 2458be08ed HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- ADDED DEBUG 2014-12-08 15:04:59 -08:00
stack 4b1983c89d HBASE-12611 Create autoCommit() method and remove clearBufferOnFail (Solomon Duskis) 2014-12-08 11:01:28 -08:00
tedyu 9e9be97af7 HBASE-12650 Move ServerName to hbase-common module - check in changed files 2014-12-08 07:08:44 -08:00
tedyu e930510c65 HBASE-12650 Move ServerName to hbase-common module - remove files 2014-12-08 07:01:47 -08:00
Devaraj Das 9fd6db3703 HBASE-11903. Directly invoking split & merge of replica regions should be disallowed 2014-12-07 11:56:53 -08:00
Gary Helmling b7d1790411 HBASE-12493 Addendum - Fix javadoc warnings 2014-12-06 00:33:12 -08:00
Gary Helmling 1ec6609b97 HBASE-12493 Make User and TokenUtil public 2014-12-05 13:04:54 -08:00
Andrew Purtell 09cd3d7bfb HBASE-10560 Per cell TTLs 2014-12-05 11:10:26 -08:00
stack c45772e76a HBASE-12431 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread Safe (Jingcheng Du) 2014-12-03 22:34:27 -08:00
stack 7a3396f0e1 HBASE-12490 Replace uses of setAutoFlush(boolean, boolean) (Solomon Duskis) 2014-12-02 10:06:21 -08:00
stack 1a9b556474 Revert "HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- ADDED DEBUG"
This reverts commit 8b8f2026bd.

Overcommit. Added "HBASE-12490 Replace uses of setAutoFlush(boolean,
boolean)" by mistake

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterStatusListener.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
2014-12-02 09:51:19 -08:00
tedyu 2fbbdfd9a1 HBASE-12559 Revert for addressing review comments 2014-12-01 10:38:05 -08:00
stack 56a03d736a HBASE-12603 Remove javadoc warnings introduced due to removal of unused imports (Varun Saxena) 2014-12-01 10:13:16 -08:00
Ramkrishna b6b88edf93 HBASE-11639 [Visibility controller] Replicate the visibility of Cells as
strings (Ram)
2014-12-01 23:03:52 +05:30
tedyu 41041e8d6a HBASE-12559 Provide LoadBalancer with online configuration capability 2014-12-01 07:30:17 -08:00
stack 555e78005d HBASE-12526 Remove unused imports (Varun Saxena) 2014-11-29 09:20:46 -08:00
stack 58b6b24c29 HBASE-12519 Remove tabs used as whitespace (Varun Saxena) 2014-11-28 20:50:02 -08:00
Jeffrey Zhong f0d95e7f11 HBASE-12533: staging directories are not deleted after secure bulk load 2014-11-26 16:23:11 -08:00
Enis Soztutar 02963b202a HBASE-12072 Standardize retry handling for master operations 2014-11-26 12:09:44 -08:00
Enis Soztutar 54627ea6dc HBASE-12128 Cache configuration and RpcController selection for Table in Connection 2014-11-26 12:07:49 -08:00
stack 8df780db88 HBASE-12400 Fix refguide so it does connection#getTable rather than new HTable everywhere 2014-11-26 09:12:16 -08:00
stack 8b8f2026bd HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- ADDED DEBUG 2014-11-25 21:21:50 -08:00
stack e6b4300756 HBASE-12404 Task 5 from parent: Replace internal HTable constructor use with
HConnection#getTable (0.98, 0.99)

Replaced HTable under hbase-*/src/main/java. Skipped tests. Would take
till end of time to do all and some cases are cryptic. Also skipped
some mapreduce where HTable comes through in API. Can do both of
these stragglers in another issue.
Generally, if a utility class or standalone class, tried to pass in a
Connection rather than have the utility or standalone create its own
connection on each invocation; e.g. the Quota stuff. Where not possible,
noted where invocation comes from... if test or hbck, didn't worry about
it.
Some classes are just standalone and nothing to be done to avoid
a Connection setup per invocation (this is probably how it worked
in the new HTable...days anyways). Some classes are not used:
AggregationClient, FavoredNodes... we should just purge this stuff.
Doc on what short circuit connection does (I can just use it...
I thought it was just for short circuit but no, it switches dependent
on where you are connecting).
Changed HConnection to super Interface ClusterConnection where safe (
internal usage by private classes only).
Doc cleanup in example usage so we do new mode rather than the old
fashion.
Used java7 idiom that allows you avoid writing out finally to call close
on implementations of Closeable.
Added a RegistryFactory.. moved it out from being inner class.
Added a utility createGetClosestRowOrBeforeReverseScan method to Scan
to create a Scan that can ...
Renamed getShortCircuitConnection as getConnection – users don't need
to know what implementation does (that it can short-circuit RPC).
The old name gave pause. I was frightened to use it thinking it only
for short-circuit reading – that it would not do remote too.
Squashed commit of the following:
2014-11-25 08:15:20 -08:00
stack 336c22d581 HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) under src/main/java
Move from HConnection to ClusterConnection or Connection
Use unmanaged connections where we use managed previous
(used the jdk7 https://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html idiom).

In ZKConfig, synchronize on Configuration rather than make a copy.
Making a copy we were dropping hbase configs in certain test context
(could not find the zk ensemble because default port).

In tests, some move to the new style connection setup but mostly
fixes for premature connection close or adding cleanup where it
was lacking.
2014-11-24 09:46:28 -08:00
Enis Soztutar 882324dbcc HBASE-10671 Add missing InterfaceAudience annotations for classes in hbase-common and hbase-client modules 2014-11-21 11:44:46 -08:00
Matteo Bertozzi 325cdc0987 HBASE-12073 Shell command user_permission fails on the table created by user if he is not global admin (Srikanth Srungarapu) 2014-11-21 10:55:48 +00:00
tedyu e4a68606f5 HBASE-8572 Enhance delete_snapshot.rb to call snapshot deletion API with regex (Ashish Singhi) 2014-11-20 08:57:42 -08:00
stack 5f391efda1 Revert "HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99)"
This reverts commit d3e7c3cfa9.
2014-11-18 16:30:52 -08:00
stack b94e6738d9 HBASE-10378 Refactor write-ahead-log implementation -- ADDEDNUM 2014-11-18 12:12:35 -08:00
Sean Busbey f5e05eb836 HBASE-10378 Refactor write-ahead-log implementation
Incompatible changes called out in release notes on jira.

* Cleaned up references to HLog
* Deprecates HLogKey but maintains it for compatibility
  - Moves all Writeable from WALKey to HLogKey
* Adds utility code to CoprocessorHost to help with evolving Coprocessor APIs
* RSRpcServices roll WAL call now requests the non-meta LogRoller roll all logs
  - rolls actually happen asynchronously
  - deprecated old api (and noted incompatible behavior change)
  - modified api in new Admin interface to reflect lack of return values.
* Moved WAL user facing API to "WAL"
  - only 1 sync offered
  - WALTrailer removed from API
* make provider used by the WALFactory configurable.
* Move all WAL requests to use opaque ids instead of paths
* WALProvider provides API details for implementers and handles creation of WALs.
* Refactor WALActionsListener to have a basic implementation.
* turn MetricsWAL into a WALActionsListener.
* tests that needs FSHLog implementation details use them directly, others just reference provider + factory
  - Some tests moved from Large to Medium based on run time.
* pull out wal disabling into its own no-op class
* update region open to delegate to WALFactory
* update performance test tool to allow for multiple regions
* Removed references to meta-specific wals within wal code
  - replaced with generic suffixes
  - WALFactory maintains a dedicated WALProvider for meta (and so knows about the distinction)
* maintain backwards compat on HLogPrettyPrinter and mark it deprecated.
  - made WALPrettyPrinter IA.Private in favor of `bin/hbase wal`
* move WALUtil stuff that's implementation specific to said implementation
  - WALUtil now acts as an integration point between the RegionServer and hte WAL code.

Incorporates contributions from v.himanshu.

Signed-off-by: stack <stack@apache.org>
2014-11-18 12:04:41 -08:00
stack d3e7c3cfa9 HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) 2014-11-18 09:48:54 -08:00
Enis Soztutar f641aada36 HBASE-12445 hbase is removing all remaining cells immediately after the cell marked with marker = KeyValue.Type.DeleteColumn via PUT (Hani Nadra) 2014-11-12 15:50:10 -08:00
stack fb6c5c7fe8 HBASE-10483 Provide API for retrieving info port when hbase.master.info.port is set to 0 (Liu Shaohui) 2014-11-12 08:56:42 -08:00
Srikanth Srungarapu 6e80af2044 HBASE-12460 Moving Chore to hbase-common module
Signed-off-by: Matteo Bertozzi <matteo.bertozzi@cloudera.com>
2014-11-11 23:15:42 +00:00
stack e287741388 HBASE-12434 Add a command to compact all the regions in a regionserver (Liu Shaohui) 2014-11-11 09:32:55 -08:00
Nick Dimiduk fb1af86ee1 HBASE-12432 RpcRetryingCaller should log after fixed number of retries like AsyncProcess
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2014-11-07 12:27:21 -08:00
stack c71244c02d HBASE-12329 Table create with duplicate column family names quietly succeeds (Jingcheng Du) 2014-11-05 17:32:21 -08:00
stack b0eaa92f5b HBASE-8707 Add LongComparator for filter (Liu Shaohui) 2014-11-05 16:56:43 -08:00
Lars Hofhansl ecd708671c HBASE-12363 Improve how KEEP_DELETED_CELLS works with MIN_VERSIONS. 2014-11-04 17:08:39 -08:00
Jeffrey Zhong 371bb39ee6 HBASE-12407: HConnectionKey doesn't contain CUSTOM_CONTROLLER_CONF_KEY in CONNECTION_PROPERTIES 2014-11-03 21:04:22 -08:00
Lars Hofhansl d4504afdd4 HBASE-12417 Scan copy constructor does not retain small attribute. 2014-11-03 15:06:29 -08:00
Nick Dimiduk 008e990deb HBASE-12416 RegionServerCallable should report what host it was communicating with 2014-11-03 14:21:25 -08:00
Andrew Purtell a62f543c65 HBASE-12361 Show data locality of region in table page (Liu Shaohui) 2014-10-31 15:41:57 -07:00
Enis Soztutar 2d1cfc14f2 HBASE-12377 HBaseAdmin#deleteTable fails when META region is moved around the same timeframe (Stephen Yuan Jiang) 2014-10-31 12:09:38 -07:00
Ashish Singhi cacdb89e03 HBASE-10870 Deprecate and replace HCD methods that have a 'should' prefix with a 'is' instead
Signed-off-by: stack <stack@apache.org>
2014-10-31 08:34:00 -07:00
stack 9f4b6ac06c HBASE-11835 Wrong managenement of non expected calls in the client (Nicolas Liochon) 2014-10-30 12:41:54 -07:00
stack 5062edebcf HBASE-12238 A few ugly exceptions on startup 2014-10-29 21:42:29 -07:00
stack 889333a6fd HBASE-12313 Redo the hfile index length optimization so cell-based rather than serialized KV key 2014-10-29 11:33:49 -07:00
manukranthk ece933fa3e Implement Preemptive Fast Fail
Summary: This diff ports the Preemptive Fast Fail feature to OSS. In multi threaded clients, we use a feature developed on 0.89-fb branch called Preemptive Fast Fail. This allows the client threads which would potentially fail, fail fast. The idea behind this feature is that we allow, among the hundreds of client threads, one thread to try and establish connection with the regionserver and if that succeeds, we mark it as a live node again. Meanwhile, other threads which are trying to establish connection to the same server would ideally go into the timeouts which is effectively unfruitful. We can in those cases return appropriate exceptions to those clients instead of letting them retry.

Test Plan: Unit tests

Differential Revision: https://reviews.facebook.net/D24177

Signed-off-by: stack <stack@apache.org>
2014-10-28 22:47:50 -07:00
Nick Dimiduk bb81b9fde5 HBASE-12356 Rpc with region replica does not propagate tracing spans 2014-10-28 10:27:59 -07:00
Andrew Purtell 70a312e53f HBASE-11912 Catch some bad practices at compile time with error-prone 2014-10-27 09:29:23 -07:00
stack 1d6c4678bb HBASE-2609 Harmonize the Get and Delete operations 2014-10-25 20:58:24 -07:00
Andrew Purtell ff5bc351b2 Revert "HBASE-11912 Catch some bad practices at compile time with error-prone"
This reverts commit 7ed0260eff.
2014-10-25 08:33:43 -07:00
Andrew Purtell 7ed0260eff HBASE-11912 Catch some bad practices at compile time with error-prone 2014-10-24 18:15:12 -07:00
Lars Hofhansl 6c7543c9c7 HBASE-12334 Handling of DeserializationException causes needless retry on failure. 2014-10-24 16:21:33 -07:00
Elliott Clark c623b04122 HBASE-12283 Clean up some checkstyle errors 2014-10-22 11:58:23 -07:00
Matteo Bertozzi 2908c11371 HBASE-12301 user_permission command does not show global permissions 2014-10-22 10:08:31 +01:00
stack c450298c44 HBASE-12307 Remove unused Imports in hbase-client and hbase-common 2014-10-21 21:53:04 -07:00
Ted Yu 6c70f4f7f7 HBASE-12302 VisibilityClient getAuths does not propagate remote service exception correctly (Jerry He) 2014-10-21 20:09:46 +00:00
Matteo Bertozzi 49056295ef HBASE-12161 Add support for grant/revoke on namespaces in AccessControlClient (Srikanth Srungarapu) 2014-10-18 21:18:42 +01:00
manukranthk 5c92bded9d Add admin endpoint for updating the configuration on the regionserver
Summary: This is a follow up diff for the jira to add the functionality to update configs in an online fashion.

Test Plan: Unit test. This adds an end point on the regionserver. It just tries to call the end point and make sure the call succeeds.

Differential Revision: https://reviews.facebook.net/D24861

Signed-off-by: stack <stack@apache.org>
2014-10-18 16:16:21 -04:00
stack 904654aa87 HBASE-12147 Porting Online Config Change from 89-fb -- JAVADOC FIX ADDENDUM 2014-10-13 21:25:51 -07:00
Enis Soztutar 6abb883865 HBASE-12083 Deprecate new HBaseAdmin() in favor of Connection.getAdmin() 2014-10-13 13:20:16 -07:00
stack 9a893a9c6a HBASE-12029 Use Table and RegionLocator in HTable.getRegionLocations() (Solomon Duskis) 2014-10-13 12:24:27 -07:00
stack b30d2f315d HBASE-12242 Fix new javadoc warnings in Admin, etc. 2014-10-13 12:07:50 -07:00
Ted Yu 3851d05a80 HBASE-12237 HBaseZeroCopyByteString#wrap() should not be called in hbase-client code 2014-10-13 17:29:09 +00:00
Andrew Purtell 8ee55fb339 HBASE-12126 Region server coprocessor endpoint (Virag Kothari) 2014-10-10 12:00:51 -07:00
stack 65ae2e5126 HBASE-11394 Replication can have data loss if peer id contains hyphen "-" 2014-10-10 10:28:16 -07:00
stack 06a8bb5bd1 HBASE-12189 Fix new issues found by coverity static analysis 2014-10-09 20:51:04 -07:00
Nick Dimiduk 712dad814c HBASE-12183 FuzzyRowFilter doesn't support reverse scans 2014-10-09 18:27:22 -07:00
Jimmy Xiang 72c8c62aa1 HBASE-12216 Lower closed region logging level 2014-10-09 14:00:24 -07:00
stack 0eb0721fef HBASE-11990 Make setting the start and stop row for a specific prefix easier (Niels Basjes) 2014-10-09 11:13:52 -07:00
Ted Yu 3d84ccbf9c HBASE-12109 user_permission command for namespace does not return correct result (Vandana Ayyalasomayajula) 2014-10-09 17:45:02 +00:00
Yi Deng 3c1fbd2ddf HBASE-12198 Fix the bug of not updating location cache
Summary:  # Clear the cache of the server when failed

Test Plan: Add testcase `TestHTableMultiplexerFlushCache` to reproduce the bug.

Differential Revision: https://reviews.facebook.net/D24603

Signed-off-by: Elliott Clark <elliott@fb.com>
Signed-off-by: Elliott Clark <eclark@apache.org>
2014-10-09 10:09:03 -07:00
Ted Yu a8be606145 HBASE-12016 Reduce number of versions in Meta table. Make it configurable (Andrey Stepachev) 2014-10-07 21:07:52 +00:00
Andrew Purtell 3557a32352 HBASE-12106 Move test annotations to test artifact (Enis Soztutar) 2014-10-06 23:16:22 -07:00
stack bc4f25ff45 HBASE-12104 Some optimization and bugfix for HTableMultiplexer (Yi Deng) 2014-10-03 17:17:09 -07:00
Ted Yu efe0787c87 HBASE-12136 Race condition between client adding tableCF replication znode and server triggering TableCFsTracker (Virag Kothari) 2014-10-03 21:34:45 +00:00
Andrew Purtell d8a7b67d79 HBASE-11907 Use the joni byte[] regex engine in place of j.u.regex 2014-10-02 23:06:32 -07:00
Jimmy Xiang a463aef8bc HBASE-12122 Try not to assign user regions to master all the time 2014-10-02 13:30:55 -07:00
Enis Soztutar 11e28eb76b HBASE-12140 Add ConnectionFactory.createConnection() to create using default HBaseConfiguration. (Jean-Marc Spaggiari)) 2014-10-01 19:26:39 -07:00
Enis Soztutar 387f90e394 HBASE-12127 Move the core Connection creation functionality into ConnectionFactory (Solomon Duskis) 2014-10-01 19:00:59 -07:00
stack 43301167db HBASE-12145 Fix javadoc and findbugs so new folks aren't freaked when they see them
Fix javadoc warnings.

Fixup findbugs warnings mostly by adding annotations saying 'working as expected'.

In RpcRetryingCallerWithReadReplicas made following change which findbugs spotted:

-        if (completed == null) tasks.wait();
+        while (completed == null) tasks.wait();

In RecoverableZooKeeper, made all zk accesses synchronized -- we were doing it
half-ways previously.

In RatioBasedCompactionPolicy we were making an instance of Random on
each invocation of getNextMajorCompactionTime
2014-10-01 16:37:13 -07:00
Ted Yu ed441ad814 HBASE-12143 Minor fix for Table code (Solomon Duskis) 2014-10-01 20:31:31 +00:00
anoopsjohn 4fac4c1ba6 HBASE-12112 Avoid KeyValueUtil#ensureKeyValue some more simple cases. 2014-10-01 14:05:57 +05:30
stack ff31691c84 HBASE-11879 Change TableInputFormatBase to take interface arguments (Solomon Duskis) 2014-09-30 21:25:04 -07:00