Commit Graph

718 Commits

Author SHA1 Message Date
stack eb9978cc3d HBASE-12684 Add new AsyncRpcClient (Jurriaan Mous) 2015-01-24 18:21:36 -08:00
Nick Dimiduk 4b9eaf5851 HBASE-12728 buffered writes substantially less useful after removal of HTablePool (addendum) 2015-01-23 14:45:28 -08:00
Nick Dimiduk 8556e2598e HBASE-12728 buffered writes substantially less useful after removal of HTablePool (Solomon Duskis and Nick Dimiduk)
In our pre-1.0 API, HTable is considered a light-weight object that consumed by
a single thread at a time. The HTablePool class provided a means of sharing
multiple HTable instances across a number of threads. As an optimization,
HTable managed a "write buffer", accumulating edits and sending a "batch" all
at once. By default the batch was sent as the last step in invocations of
put(Put) and put(List<Put>). The user could disable the automatic flushing of
the write buffer, retaining edits locally and only sending the whole "batch"
once the write buffer has filled or when the flushCommits() method in invoked
explicitly. Explicit or implicit batch writing was controlled by the
setAutoFlushTo(boolean) method. A value of true (the default) had the write
buffer flushed at the completion of a call to put(Put) or put(List<Put>). A
value of false allowed for explicit buffer management. HTable also exposed the
buffer to consumers via getWriteBuffer().

The combination of HTable with setAutoFlushTo(false) and the HTablePool
provided a convenient mechanism by which multiple "Put-producing" threads could
share a common write buffer. Both HTablePool and HTable are deprecated, and
they are officially replaced in The new 1.0 API by Table and BufferedMutator.
Table, which replaces HTable, no longer exposes explicit write-buffer
management. Instead, explicit buffer management is exposed via BufferedMutator.
BufferedMutator is made safe for concurrent use. Where code would previously
retrieve and return HTables from an HTablePool, now that code creates and
shares a single BufferedMutator instance across all threads.

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
	hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedListWithVisibility.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/trace/IntegrationTestSendTraceRequests.java
	hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/PerformanceEvaluation.java
	hbase-rest/src/test/java/org/apache/hadoop/hbase/rest/client/TestRemoteTable.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/TestMultiVersions.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestClientPushback.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestCloneSnapshotFromClient.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRestoreSnapshotFromClient.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestRpcControllerFactory.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMaster.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerWithBulkload.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationChangingPeerRegionservers.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWithTags.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsReplication.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/SnapshotTestingUtils.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/snapshot/TestRestoreFlushSnapshotFromClient.java
2015-01-23 09:07:55 -08:00
Andrew Purtell 7e1f030f2a HBASE-12731 Heap occupancy based client pushback
Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RegionServerServices.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/MockRegionServer.java
2015-01-22 17:47:59 -08:00
Andrew Purtell 04a003d6a2 HBASE-12730 Backport HBASE-5162 (Basic client pushback mechanism) to branch-1 2015-01-22 14:50:40 -08:00
Nick Dimiduk 05f4e0c715 HBASE-12810 Update to htrace-incubating 2015-01-22 14:32:21 -08:00
Sean Busbey 0bec3a7bf4 HBASE-12898 ensure direct dependencies are declared. 2015-01-22 09:30:05 -06:00
Enis Soztutar 2f90bc5e20 HBASE-12837 ReplicationAdmin leaks zk connections (stack)
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
2015-01-16 13:31:16 -08:00
Devaraj Das 37a2774c6f HBASE-11903. Directly invoking split & merge of replica regions should be disallowed 2015-01-16 11:23:48 -08:00
Devaraj Das 895e9228a0 HBASE-10674. HBCK should be updated to do replica related checks 2015-01-16 10:28:37 -08:00
tedyu b79dbedad6 HBASE-11144 Filter to support scanning multiple row key ranges (Jiajia Li) 2015-01-13 07:04:49 -08:00
Enis Soztutar 8470936d76 HBASE-12835 HBASE-12422 changed new HTable(Configuration) to not use managed Connections anymore 2015-01-12 16:21:04 -08:00
Enis Soztutar 54f5129da8 HBASE-12832 Describe table from shell no longer shows Table's attributes, only CF attributes (Srikanth Srungarapu) 2015-01-12 14:01:10 -08:00
Nick Dimiduk 240ef12358 HBASE-12071 Separate out thread pool for Master <-> RegionServer communication (Stephen Yuan Jiang) 2015-01-08 14:11:32 -08:00
tedyu 2c4fe03e6a HBASE-12783 Create efficient RegionLocator implementation (Solomon) 2015-01-07 11:10:24 -08:00
Enis Soztutar 0de113e564 HBASE-12788 Promote Abortable to LimitedPrivate 2015-01-05 16:33:17 -08:00
tedyu 173eba815b HBASE-12783 Revert - two tests in TestAssignmentManager fail 2015-01-03 06:57:46 -08:00
tedyu 633734a82d HBASE-12783 Create efficient RegionLocator implementation (Solomon Duskis) 2015-01-02 20:00:09 -08:00
Jurriaan Mous 26749c347d HBASE-12761 On region jump ClientScanners should get next row start key instead of a skip.
Signed-off-by: stack <stack@apache.org>

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallableWithReplicas.java
2014-12-30 14:49:58 -08:00
stack 826bcf1bb9 HBASE-12641 Grant all permissions of hbase zookeeper node to hbase superuser in a secure cluster (Liu Shaohui)
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java
2014-12-27 21:15:21 -08:00
stack 4cb5d15b60 HBASE-12739 Avoid too large identifier of ZooKeeperWatcher (Liu Shaohui) 2014-12-23 12:21:05 -08:00
Jurriaan Mous 611ee0eb72 HBASE-12736 Let MetaScanner recycle a given Connection (Jurriaan Mous)
Signed-off-by: stack <stack@apache.org>

Conflicts:
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestRestartCluster.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
2014-12-23 10:59:18 -08:00
tedyu 59f93e2384 HBASE-12750 getRequestsCount() in ClusterStatus returns total number of request (Weichen Ye) 2014-12-23 10:26:49 -08:00
Devaraj Das 949982fc6e HBASE-12012. Improve cancellation for the scan RPCs (patch from master; had to resolve some conflicts) 2014-12-22 16:45:41 -08:00
stack b97ba6fc48 HBASE-11412 Minimize a number of hbase-client transitive dependencies (Sergey Beryozkin) 2014-12-19 07:56:34 -08:00
zhangduo e55ef7a663 HBASE-10201 Port 'Make flush decisions per column family' to trunk
Signed-off-by: stack <stack@apache.org>

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
2014-12-18 15:58:55 -08:00
Enis Soztutar d66ae28c07 Update pom.xml version for 1.1.0-SNAPSHOT for branch-1 2014-12-17 23:16:41 -08:00
Enis Soztutar e5f2033643 HBASE-11412 Minimize a number of hbase-client transitive dependencies (Sergey Beryozkin) 2014-12-17 21:53:43 -08:00
stack 476bd40716 HBASE-12652 Allow unmanaged connections in MetaTableAccessor (Solomon Duskis); REAPPLY 2014-12-17 11:11:35 -08:00
stack 4587a693b0 Revert "HBASE-12652 Allow unmanaged connections in MetaTableAccessor (Solomon Duskis)"
This reverts commit 1c99261f53.
2014-12-16 17:00:37 -08:00
stack f0afcd2cc2 HBASE-12689 Move version on from 0.99.2 to HBASE-1.0.0-SNAPSHOT 2014-12-14 20:37:59 -08:00
stack b1c95d50cf HBASE-12422 Use ConnectionFactory in HTable constructors Fix method signature in test
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/coprocessor/SecureBulkLoadClient.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
2014-12-14 19:56:20 -08:00
Enis Soztutar 4f22143dfa HBASE-12679 Add HBaseInterfaceAudience.TOOLS and move some of the Public classes to LimitedPrivate 2014-12-14 17:52:05 -08:00
tedyu b7bb9d9505 HBASE-12659 Replace the method calls to grant and revoke in shell scripts with AccessControlClient (Srikanth Srungarapu) 2014-12-13 10:19:18 -08:00
Jurriaan Mous 54381aab11 HBASE-12668 Adapt PayloadCarryingRpcController so it can also be used in an async way
Signed-off-by: stack <stack@apache.org>

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/TimeLimitedRpcController.java
2014-12-12 07:54:34 -08:00
stack e3e9c96f89 HBASE-12373 Provide a command to list visibility labels (Jerry He)
Conflicts:
	hbase-server/src/test/java/org/apache/hadoop/hbase/security/visibility/TestVisibilityLabelsWithDefaultVisLabelService.java
2014-12-11 15:20:40 -08:00
stack 51bbbbaf2b HBASE-12665 When aborting, dump metrics
Add some fixup of checkstyle fails

Conflicts:
	hbase-common/src/main/java/org/apache/hadoop/hbase/CellUtil.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/http/jmx/JMXJsonServlet.java
2014-12-09 21:08:10 -08:00
Nick Dimiduk 1c99261f53 HBASE-12652 Allow unmanaged connections in MetaTableAccessor (Solomon Duskis) 2014-12-09 11:50:47 -08:00
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