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
2014-10-23 21:47:18 -07:00
2014-10-11 22:14:49 -07:00
2014-09-18 12:06:02 -07:00

Apache HBase [1] is an open-source, distributed, versioned, column-oriented
store modeled after Google' Bigtable: A Distributed Storage System for
Structured Data by Chang et al.[2]  Just as Bigtable leverages the distributed
data storage provided by the Google File System, HBase provides Bigtable-like
capabilities on top of Apache Hadoop [3].

To get started using HBase, the full documentation for this release can be
found under the doc/ directory that accompanies this README.  Using a browser,
open the docs/index.html to view the project home page (or browse to [1]).
The hbase 'book' at http://hbase.apache.org/book.html has a 'quick start'
section and is where you should being your exploration of the hbase project.

The latest HBase can be downloaded from an Apache Mirror [4].

The source code can be found at [5]

The HBase issue tracker is at [6]

Apache HBase is made available under the Apache License, version 2.0 [7]

The HBase mailing lists and archives are listed here [8].

The HBase distribution includes cryptographic software. See the export control
notice here [9].

1. http://hbase.apache.org
2. http://research.google.com/archive/bigtable.html
3. http://hadoop.apache.org
4. http://www.apache.org/dyn/closer.cgi/hbase/
5. https://hbase.apache.org/source-repository.html
6. https://hbase.apache.org/issue-tracking.html
7. http://hbase.apache.org/license.html
8. http://hbase.apache.org/mail-lists.html
9. https://hbase.apache.org/export_control.html
Description
No description provided
Readme 550 MiB
Languages
Java 96.1%
Ruby 1.7%
Perl 0.8%
Shell 0.7%
Python 0.3%
Other 0.1%