1870 Commits

Author SHA1 Message Date
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
Jeffrey Zhong
a184620fb3 HBASE-12600: Remove REPLAY tag dependency in Distributed Replay Mode 2014-12-01 11:30:13 -08:00
stack
53d775f242 HBASE-12514 Cleanup HFileOutputFormat legacy code (Solomon Duskis)
Signed-off-by: stack <stack@apache.org>
2014-12-01 10:16:35 -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
stack
7eefa36ac2 HBASE-10536 ImportTsv should fail fast if any of the column family passed to the job is not present in the table (denny joesph) 2014-11-28 20:42:55 -08:00
stack
f95728ac7d HBASE-12581 TestCellACLWithMultipleVersions failing since task 5 HBASE-12404 (HBASE-12404 addendum) -- SLEEP ADDENDUM 2014-11-27 05:29:23 -08:00
stack
c3b99a5406 HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- DISABLING FAILING TEST 2014-11-26 22:23:14 -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
9036c78cf1 HBASE-12587 TestReplicationTrackerZKImpl.testPeerRemovedEvent timedout 2014-11-26 12:54:27 -08:00
stack
f376343a17 Revert "HBASE-12563 After Starting up mini hbase cluster, Real Configuration of Cluster never set to HBaseTestingUtility (Talat UYARER)"
Broke the build. TestZooKeeper doesn't pass.

This reverts commit 2e9597ffb790cf23699f1f85777403b436c96ab9.
2014-11-26 10:35:03 -08:00
stack
daff5e8d96 HBASE-12518 Task 4 polish. Remove CM#{get,delete}Connection
Remove deleteConnection from everywhere except the two tests that ensure
it does the right thing and from HCM and CM themselves.

Undoes deleteConnection from tests and from the web ui
2014-11-26 08:12:13 -08:00
stack
2e9597ffb7 HBASE-12563 After Starting up mini hbase cluster, Real Configuration of Cluster never set to HBaseTestingUtility (Talat UYARER) 2014-11-26 08:00:00 -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
stack
c9376e6d37 HBASE-12581 TestCellACLWithMultipleVersions failing since task 5 HBASE-12404 (HBASE-12404 addendum) 2014-11-25 16:30:23 -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
Elliott Clark
524dcd1323 HBASE-12550 ADDENDUM Make HRegion's api not change. 2014-11-24 16:11:41 -08:00
stack
3cd1d7ab0c HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) under src/main/java 2014-11-24 10:12:27 -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
Elliott Clark
339fd6bdca HBASE-12550 Check all storefiles are referenced before splitting
Summary: If there are bugs in HDFS move and/or create we should protect against them by making sure that all files referenced end up in split daughters.

Test Plan: Unit tests cover splits pretty well

Subscribers: matteobertozzi

Differential Revision: https://reviews.facebook.net/D29373
2014-11-24 09:51:53 -08:00
Andrew Purtell
9904252615 HBASE-12479 Backport HBASE-11689 (Track meta in transition) (Virag Kothari) 2014-11-22 12:13:09 -08:00
stack
7a3e8b55f8 HBASE-12549 Fix TestAssignmentManagerOnCluster#testAssignRacingWithSSH() flaky test (Virag Kothari) --ADDENDUM 2014-11-21 21:32:55 -08:00
tedyu
d5bcf338d6 HBASE-12554 TestBaseLoadBalancer may timeout due to lengthy rack lookup 2014-11-21 16:56:31 -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
stack
42cbdea76d HBASE-12541 Add misc debug logging to hanging tests in TestHCM and TestBaseLoadBalancer -- ADDENDUM; add waitForNoRegionInTransition from HTU in master branch 2014-11-21 08:15:38 -08:00
anoopsjohn
3c3e9aef81 HBASE-12346 Scan's default auths behavior under Visibility labels. - Addendum 2014-11-21 18:25:41 +05:30
anoopsjohn
04ee2bc812 HBASE-12346 Scan's default auths behavior under Visibility labels.(Jerry He) 2014-11-21 13:47:22 +05:30
stack
bfda57d4f2 HBASE-12541 Add misc debug logging to hanging tests in TestHCM and TestBaseLoadBalancer 2014-11-20 17:55:08 -08:00
Enis Soztutar
49422a9ec4 HBASE-12549 Fix TestAssignmentManagerOnCluster#testAssignRacingWithSSH() flaky test 2014-11-20 16:19:20 -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 4f5cde8a698b4d416694842c2e82114a44fc0471.
2014-11-18 16:32:18 -08:00
Andrew Purtell
eb34c956a1 HBASE-12496 A blockedRequestsCount metric (Yi Deng) 2014-11-18 14:24: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
tedyu
30ecf5ae78 HBASE-12478 HBASE-10141 and MIN_VERSIONS are not compatible 2014-11-14 16:37:19 -08:00
Lars Hofhansl
1861f9ce25 Revert "HBASE-12457 Regions in transition for a long time when CLOSE interleaves with a slow compaction."
This reverts commit 0e795c1cf8621df2d33600f4b33a00344fe5de5a.
2014-11-13 09:19:43 -08:00
Lars Hofhansl
880c7c35fc Revert "Amend HBASE-12457 Regions in transition for a long time when CLOSE interleaves with a slow compaction; Test import fix"
This reverts commit 9d2ad55cfa6108718d785b5e71ab10e9fb75a988.
2014-11-13 09:19:32 -08:00
Andrew Purtell
9d2ad55cfa Amend HBASE-12457 Regions in transition for a long time when CLOSE interleaves with a slow compaction; Test import fix 2014-11-13 08:09:51 -08:00
Lars Hofhansl
0e795c1cf8 HBASE-12457 Regions in transition for a long time when CLOSE interleaves with a slow compaction. 2014-11-12 22:49:46 -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
Andrew Purtell
d0c34fb4a3 Revert "HBASE-12454 Setting didPerformCompaction early in HRegion#compact"
This reverts commit 16decdc19acd622df2b077c6cf5b737f589c2a52.
2014-11-12 12:31:10 -08:00
Andrew Purtell
16decdc19a HBASE-12454 Setting didPerformCompaction early in HRegion#compact 2014-11-12 09:47:33 -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
Jeffrey Zhong
86711846d3 HBASE-12319: Inconsistencies during region recovery due to close/open of a region during recovery 2014-11-11 17:55:48 -08:00
Esteban Gutierrez
bebf0181c8 HBASE-12447 Add support for setTimeRange for RowCounter and CellCounter
Signed-off-by: stack <stack@apache.org>
2014-11-11 15:06:56 -08:00
Andrew Purtell
87fb974765 HBASE-12440 Region may remain offline on clean startup under certain race condition (Virag Kothari) 2014-11-07 14:11:56 -08:00
Andrew Purtell
5a16c15d7f Reduce the effective scope of CREATE and ADMIN permissions 2014-11-07 11:53:01 -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
Andrew Purtell
64fd02fcbd HBASE-12344 Split up TestAdmin 2014-11-05 09:18:51 -08:00
Lars Hofhansl
8427d67ff6 HBASE-12363 Improve how KEEP_DELETED_CELLS works with MIN_VERSIONS. 2014-11-04 17:12:39 -08:00