Commit Graph

680 Commits

Author SHA1 Message Date
Matteo Bertozzi 09617cc2aa HBASE-12564 consolidate the getTableDescriptors() semantic 2014-12-09 12:06:39 +00:00
stack 1d880e3f60 HBASE-12597 Add RpcClient interface and enable changing of RpcClient implementation (Jurriaan Mous) 2014-12-08 15:23:38 -08:00
stack 823656bf83 HBASE-12611 Create autoCommit() method and remove clearBufferOnFail (Solomon Duskis)
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
2014-12-08 11:17:59 -08:00
Nick Dimiduk 081ce3f8de HBASE-12163 Move test annotation classes to the same package as in master 2014-12-08 10:38:58 -08:00
Gary Helmling 6c4863f355 HBASE-12493 Make User and TokenUtil public 2014-12-06 02:10:31 -08:00
Andrew Purtell 004e977ba0 HBASE-10560 Per cell TTLs 2014-12-05 11:11:15 -08:00
tedyu 2e47c37b71 HBASE-12204 Backport HBASE-12016 'Reduce number of versions in Meta table. Make it configurable' to branch-1 2014-12-04 12:18:58 -08:00
stack bb07de1960 HBASE-12431 Use of getColumnLatestCell(byte[], int, int, byte[], int, int) is Not Thread Safe (Jingcheng Du)
(cherry picked from commit c45772e76a)
2014-12-03 22:35:14 -08:00
Enis Soztutar 5f150e49f9 Update pom.xml version for 0.99.2 2014-12-02 20:28:29 -08:00
stack e424d4254e HBASE-12490 Replace uses of setAutoFlush(boolean, boolean) (Solomon Duskis) -- ADDENDUM to fix failing TestAsyncProcess#testHTableFailedPutAndNewPut 2014-12-02 11:48:46 -08:00
stack 2b976c6bd1 HBASE-12490 Replace uses of setAutoFlush(boolean, boolean) (Solomon Duskis) 2014-12-02 09:34:04 -08:00
Sean Busbey 8959828fb5 HBASE-12522 Backport of write-ahead-log refactoring and follow-ons.
Issues incorporated and incompatible changes called out on the 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 and stack.

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/WALPlayer.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/migration/NamespaceUpgrade.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/LogRoller.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/util/HMerge.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/wal/WALSplitter.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/TestIOFencing.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin2.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverScannerOpenHook.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestFilter.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestInvocationRecordFilter.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestHLogRecordReader.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestImportExport.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestAtomicOperation.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransaction.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSplitTransaction.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLog.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollAbort.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRollingNoCluster.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationSource.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWALEntryFilters.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpoint.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestRegionReplicaReplicationEndpointNoMaster.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationWALReaderManager.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestFSVisitor.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestMergeTool.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestSecureWAL.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALFiltering.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALMethods.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALReaderOnSecureWAL.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplit.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/wal/TestWALSplitCompressed.java
	src/main/docbkx/ops_mgt.xml
2014-12-02 11:05:02 -06:00
stack a5169d422b HBASE-12526 Remove unused imports (Varun Saxena) 2014-12-01 14:30:59 -08:00
Ramkrishna 95de67bd39 HBASE-11639 - [Visibility controller] Replicate the visibility of Cells as
strings (Ram)
2014-12-01 23:24:20 +05:30
stack b12d57783f HBASE-12519 Remove tabs used as whitespace (Varun Saxena) 2014-11-29 09:24:08 -08:00
Jeffrey Zhong 643de2df04 HBASE-12533: staging directories are not deleted after secure bulk load 2014-11-26 16:32:59 -08:00
Enis Soztutar 898e78661a HBASE-12072 Standardize retry handling for master operations
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/MetaTableAccessor.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnection.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/RowTooBigException.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestReplicasClient.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionMergeTransactionOnCluster.java
2014-11-26 13:50:24 -08:00
stack c55d57461c HBASE-12584 Fix branch-1 failing since task 5 HBASE-12404 (HBASE-12404 addendum) 2014-11-26 01:52:41 -08:00
Enis Soztutar b9dfcd01b8 HBASE-12128 Cache configuration and RpcController selection for Table in Connection 2014-11-25 13:48:09 -08:00
stack c0cdaf8400 HBASE-12404 Task 5 from parent: Replace internal HTable constructor use with
HConnection#getTable (0.98, 0.99)

    Backport

    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 12:26:54 -08:00
stack f3c5f11718 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.

Conflicts:
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
2014-11-24 10:12:27 -08:00
Andrew Purtell 9904252615 HBASE-12479 Backport HBASE-11689 (Track meta in transition) (Virag Kothari) 2014-11-22 12:13:09 -08:00
Enis Soztutar aa343ebcfe HBASE-10671 Add missing InterfaceAudience annotations for classes in hbase-common and hbase-client modules 2014-11-21 14:09:28 -08:00
tedyu 84ed9f6ba4 HBASE-8572 Enhance delete_snapshot.rb to call snapshot deletion API with regex (Ashish Singhi) 2014-11-20 08:59:42 -08:00
stack 3a3a4b7b6b Revert "HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99)"
This reverts commit 4f5cde8a69.
2014-11-18 16:32:18 -08:00
stack 4f5cde8a69 HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99)
Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLogSplitter.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java
2014-11-18 10:19:55 -08:00
Enis Soztutar b25e5bb890 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:48 -08:00
stack f3a38dcf16 HBASE-10483 Provide API for retrieving info port when hbase.master.info.port is set to 0 (Liu Shaohui)
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.java
	hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
2014-11-12 09:09:11 -08:00
Srikanth Srungarapu 133c79a391 HBASE-12460 Moving Chore to hbase-common module
Signed-off-by: Matteo Bertozzi <matteo.bertozzi@cloudera.com>
2014-11-11 23:18:37 +00:00
stack 9bbde31a81 HBASE-12434 Add a command to compact all the regions in a regionserver (Liu Shaohui) 2014-11-11 09:33:27 -08:00
Nick Dimiduk df3ba6ea4b 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:36 -08:00
stack c99d89fd63 HBASE-12427 Change branch-1 version from 0.99.2-SNAPSHOT to 0.99.3-SNAPSHOT --REVERT 2014-11-05 19:15:24 -08:00
stack 15f96c7a00 HBASE-12329 Table create with duplicate column family names quietly succeeds (Jingcheng Du) 2014-11-05 17:33:54 -08:00
stack 625a1ea065 HBASE-8707 Add LongComparator for filter (Liu Shaohui) 2014-11-05 16:57:21 -08:00
Lars Hofhansl 8427d67ff6 HBASE-12363 Improve how KEEP_DELETED_CELLS works with MIN_VERSIONS. 2014-11-04 17:12:39 -08:00
stack c66a6b02a5 HBASE-12427 Change branch-1 version from 0.99.2-SNAPSHOT to 0.99.3-SNAPSHOT 2014-11-04 12:41:38 -08:00
Jeffrey Zhong d4eb7d1bd1 HBASE-12407: HConnectionKey doesn't contain CUSTOM_CONTROLLER_CONF_KEY in CONNECTION_PROPERTIES 2014-11-03 21:05:11 -08:00
Lars Hofhansl b20cb29437 HBASE-12417 Scan copy constructor does not retain small attribute. 2014-11-03 14:58:57 -08:00
Nick Dimiduk 1d6b3e7b78 HBASE-12416 RegionServerCallable should report what host it was communicating with 2014-11-03 14:21:43 -08:00
Andrew Purtell 4649646fc8 HBASE-12361 Show data locality of region in table page (Liu Shaohui)
Conflicts:
	hbase-server/src/main/resources/hbase-webapps/master/table.jsp
2014-10-31 15:43:01 -07:00
Enis Soztutar 8938aba4e2 HBASE-12377 HBaseAdmin#deleteTable fails when META region is moved around the same timeframe (Stephen Yuan Jiang) 2014-10-31 12:11:31 -07:00
Ashish Singhi ae8462b3a2 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:40 -07:00
stack 29d486ff4e HBASE-11835 Wrong managenement of non expected calls in the client (Nicolas Liochon) 2014-10-30 12:42:26 -07:00
stack b069c10af4 HBASE-12238 A few ugly exceptions on startup
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/MetaTableLocator.java
2014-10-29 21:53:55 -07:00
stack 6c39d36b32 HBASE-12313 Redo the hfile index length optimization so cell-based rather than serialized KV key
Conflicts:
	hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java
	hbase-common/src/main/java/org/apache/hadoop/hbase/CellKey.java
	hbase-common/src/test/java/org/apache/hadoop/hbase/TestCellUtil.java
2014-10-29 11:36:47 -07:00
manukranthk 69c99da70a 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>

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterConnection.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionManager.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java
2014-10-28 22:59:20 -07:00
Nick Dimiduk 050b8afcde HBASE-12356 Rpc with region replica does not propagate tracing spans 2014-10-28 10:28:28 -07:00
stack 3fa96fb3c7 HBASE-2609 Harmonize the Get and Delete operations 2014-10-25 20:58:58 -07:00
Lars Hofhansl 7ec441ca4f HBASE-12334 Handling of DeserializationException causes needless retry on failure. 2014-10-24 16:22:05 -07:00
Matteo Bertozzi 4f32987de7 HBASE-12301 user_permission command does not show global permissions 2014-10-22 10:13:46 +01:00