hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bus...@apache.org
Subject [21/21] hbase git commit: HBASE-12522 Backport of write-ahead-log refactoring and follow-ons.
Date Tue, 02 Dec 2014 17:21:00 GMT
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


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8959828f
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8959828f
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8959828f

Branch: refs/heads/branch-1
Commit: 8959828fb560c0df7d1069ae63eb58af8b6ee35b
Parents: e2631ce
Author: Sean Busbey <busbey@apache.org>
Authored: Tue Jul 29 10:18:20 2014 -0500
Committer: Sean Busbey <busbey@apache.org>
Committed: Tue Dec 2 11:05:02 2014 -0600

----------------------------------------------------------------------
 bin/hbase                                       |    7 +-
 bin/hbase.cmd                                   |   11 +-
 .../hadoop/hbase/DroppedSnapshotException.java  |    2 +-
 .../org/apache/hadoop/hbase/client/Admin.java   |   15 +-
 .../apache/hadoop/hbase/client/HBaseAdmin.java  |   61 +-
 .../client/replication/ReplicationAdmin.java    |    2 +-
 .../hbase/protobuf/ResponseConverter.java       |   16 -
 .../hbase/replication/ReplicationQueues.java    |   24 +-
 .../replication/ReplicationQueuesClient.java    |    6 +-
 .../ReplicationQueuesClientZKImpl.java          |    2 +-
 .../replication/ReplicationQueuesZKImpl.java    |   70 +-
 .../apache/hadoop/hbase/zookeeper/ZKUtil.java   |   12 +-
 .../org/apache/hadoop/hbase/HConstants.java     |    4 +-
 .../java/org/apache/hadoop/hbase/KeyValue.java  |    2 +-
 .../src/main/resources/hbase-default.xml        |   10 +-
 .../master/MetricsMasterFileSystemSource.java   |    6 +-
 .../regionserver/MetricsRegionServerSource.java |    8 +-
 .../MetricsRegionServerWrapper.java             |    8 +-
 .../wal/MetricsEditsReplaySource.java           |    2 +-
 .../regionserver/wal/MetricsWALSource.java      |   12 +-
 .../regionserver/wal/TestMetricsHLogSource.java |   32 -
 .../regionserver/wal/TestMetricsWALSource.java  |   32 +
 .../MetricsRegionServerSourceImpl.java          |    4 +-
 .../regionserver/wal/MetricsWALSourceImpl.java  |    3 +-
 .../IntegrationTestIngestWithEncryption.java    |    7 +-
 .../hadoop/hbase/mttr/IntegrationTestMTTR.java  |    4 +-
 .../hbase/protobuf/generated/AdminProtos.java   |   12 +
 .../generated/RegionServerStatusProtos.java     |   16 +-
 .../hbase/protobuf/generated/WALProtos.java     |   16 +-
 .../protobuf/generated/ZooKeeperProtos.java     |    4 +-
 hbase-protocol/src/main/protobuf/Admin.proto    |    4 +
 .../src/main/protobuf/RegionServerStatus.proto  |    2 +-
 hbase-protocol/src/main/protobuf/WAL.proto      |    9 +-
 .../src/main/protobuf/ZooKeeper.proto           |    2 +-
 .../tmpl/regionserver/ServerMetricsTmpl.jamon   |   16 +-
 .../apache/hadoop/hbase/SplitLogCounters.java   |    2 +-
 .../SplitLogWorkerCoordination.java             |    4 +-
 .../ZKSplitLogManagerCoordination.java          |    8 +-
 .../ZkSplitLogWorkerCoordination.java           |   12 +-
 .../hbase/coprocessor/BaseRegionObserver.java   |   19 +
 .../hbase/coprocessor/BaseWALObserver.java      |   23 +-
 .../hbase/coprocessor/CoprocessorHost.java      |   74 +
 .../hbase/coprocessor/RegionObserver.java       |   60 +-
 .../coprocessor/WALCoprocessorEnvironment.java  |    6 +-
 .../hadoop/hbase/coprocessor/WALObserver.java   |   61 +-
 .../org/apache/hadoop/hbase/fs/HFileSystem.java |   16 +-
 .../org/apache/hadoop/hbase/io/HLogLink.java    |   69 -
 .../org/apache/hadoop/hbase/io/WALLink.java     |   69 +
 .../hbase/mapreduce/HFileOutputFormat2.java     |    4 +-
 .../hadoop/hbase/mapreduce/HLogInputFormat.java |  235 +-
 .../hbase/mapreduce/MultiTableOutputFormat.java |    4 +-
 .../mapreduce/TableSnapshotInputFormat.java     |    2 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.java  |  287 +++
 .../hadoop/hbase/mapreduce/WALPlayer.java       |   52 +-
 .../hadoop/hbase/master/AssignmentManager.java  |   14 +-
 .../hadoop/hbase/master/MasterFileSystem.java   |   45 +-
 .../hbase/master/MetricsMasterFileSystem.java   |    4 +-
 .../hadoop/hbase/master/RegionStates.java       |    4 +-
 .../hadoop/hbase/master/ServerManager.java      |    8 +-
 .../hadoop/hbase/master/SplitLogManager.java    |   40 +-
 .../hadoop/hbase/master/cleaner/LogCleaner.java |    6 +-
 .../master/cleaner/TimeToLiveLogCleaner.java    |    2 +-
 .../handler/MetaServerShutdownHandler.java      |    4 +-
 .../master/handler/ServerShutdownHandler.java   |   20 +-
 .../master/snapshot/SnapshotLogCleaner.java     |    8 +-
 .../hbase/migration/NamespaceUpgrade.java       |   18 +-
 .../hadoop/hbase/migration/UpgradeTo96.java     |    7 +-
 .../hbase/protobuf/ReplicationProtbufUtil.java  |   20 +-
 .../hadoop/hbase/regionserver/HRegion.java      |  415 ++--
 .../hbase/regionserver/HRegionServer.java       |  232 +-
 .../hadoop/hbase/regionserver/HStore.java       |    6 +-
 .../hadoop/hbase/regionserver/LogRoller.java    |  115 +-
 .../hbase/regionserver/MemStoreFlusher.java     |    4 +-
 .../hbase/regionserver/MetaLogRoller.java       |   38 -
 .../MetricsRegionServerWrapperImpl.java         |   29 +-
 .../hbase/regionserver/RSRpcServices.java       |   37 +-
 .../regionserver/RegionCoprocessorHost.java     |   60 +-
 .../regionserver/RegionServerAccounting.java    |    2 +-
 .../regionserver/RegionServerServices.java      |    6 +-
 .../hbase/regionserver/SplitLogWorker.java      |   12 +-
 .../handler/HLogSplitterHandler.java            |  106 -
 .../handler/WALSplitterHandler.java             |  106 +
 .../regionserver/wal/CompressionContext.java    |   11 +-
 .../hbase/regionserver/wal/Compressor.java      |   18 +-
 .../hadoop/hbase/regionserver/wal/FSHLog.java   |  709 +++---
 .../hbase/regionserver/wal/FSWALEntry.java      |   11 +-
 .../hadoop/hbase/regionserver/wal/HLog.java     |  445 ----
 .../hbase/regionserver/wal/HLogFactory.java     |  207 --
 .../hadoop/hbase/regionserver/wal/HLogKey.java  |  430 +---
 .../regionserver/wal/HLogPrettyPrinter.java     |  315 +--
 .../hbase/regionserver/wal/HLogSplitter.java    | 1988 ----------------
 .../hadoop/hbase/regionserver/wal/HLogUtil.java |  365 ---
 .../hbase/regionserver/wal/MetricsWAL.java      |   13 +-
 .../regionserver/wal/ProtobufLogReader.java     |   40 +-
 .../regionserver/wal/ProtobufLogWriter.java     |   14 +-
 .../hbase/regionserver/wal/ReaderBase.java      |   29 +-
 .../wal/SecureProtobufLogWriter.java            |    6 +-
 .../regionserver/wal/SequenceFileLogReader.java |   21 +-
 .../regionserver/wal/WALActionsListener.java    |   76 +-
 .../hbase/regionserver/wal/WALCellCodec.java    |    2 +-
 .../regionserver/wal/WALCoprocessorHost.java    |   67 +-
 .../hadoop/hbase/regionserver/wal/WALEdit.java  |    8 +-
 .../regionserver/wal/WALEditsReplaySink.java    |   31 +-
 .../hadoop/hbase/regionserver/wal/WALUtil.java  |  101 +
 .../hbase/regionserver/wal/WriterBase.java      |    4 +-
 .../hbase/replication/ChainWALEntryFilter.java  |    2 +-
 .../hbase/replication/ReplicationEndpoint.java  |    8 +-
 .../hbase/replication/ScopeWALEntryFilter.java  |    2 +-
 .../replication/SystemTableWALEntryFilter.java  |    2 +-
 .../replication/TableCfWALEntryFilter.java      |    2 +-
 .../hbase/replication/WALEntryFilter.java       |   10 +-
 .../master/ReplicationLogCleaner.java           |   26 +-
 .../HBaseInterClusterReplicationEndpoint.java   |    6 +-
 .../replication/regionserver/Replication.java   |   36 +-
 .../ReplicationHLogReaderManager.java           |  144 --
 .../regionserver/ReplicationSink.java           |    2 +-
 .../regionserver/ReplicationSource.java         |   38 +-
 .../regionserver/ReplicationSourceManager.java  |  104 +-
 .../ReplicationWALReaderManager.java            |  145 ++
 .../hbase/security/access/AccessController.java |    2 +-
 .../HbaseObjectWritableFor96Migration.java      |   38 +-
 .../VisibilityReplicationEndpoint.java          |    2 +-
 .../hadoop/hbase/snapshot/ExportSnapshot.java   |   14 +-
 .../hadoop/hbase/snapshot/SnapshotInfo.java     |    6 +-
 .../hbase/snapshot/SnapshotReferenceUtil.java   |    8 +-
 .../apache/hadoop/hbase/util/FSHDFSUtils.java   |    2 +-
 .../org/apache/hadoop/hbase/util/FSVisitor.java |   14 +-
 .../org/apache/hadoop/hbase/util/HBaseFsck.java |    6 +-
 .../org/apache/hadoop/hbase/util/HMerge.java    |   18 +-
 .../org/apache/hadoop/hbase/util/Merge.java     |    7 +-
 .../org/apache/hadoop/hbase/util/MetaUtils.java |   35 +-
 .../hadoop/hbase/util/RegionSplitter.java       |    2 +-
 .../hadoop/hbase/wal/DefaultWALProvider.java    |  369 +++
 .../hadoop/hbase/wal/DisabledWALProvider.java   |  213 ++
 .../java/org/apache/hadoop/hbase/wal/WAL.java   |  263 +++
 .../org/apache/hadoop/hbase/wal/WALFactory.java |  430 ++++
 .../org/apache/hadoop/hbase/wal/WALKey.java     |  553 +++++
 .../hadoop/hbase/wal/WALPrettyPrinter.java      |  407 ++++
 .../apache/hadoop/hbase/wal/WALProvider.java    |   83 +
 .../apache/hadoop/hbase/wal/WALSplitter.java    | 2171 ++++++++++++++++++
 .../hadoop/hbase/zookeeper/ZKSplitLog.java      |    2 +-
 .../org/apache/hadoop/hbase/HBaseTestCase.java  |    2 +-
 .../hadoop/hbase/HBaseTestingUtility.java       |   22 +-
 .../hadoop/hbase/MockRegionServerServices.java  |    4 +-
 .../org/apache/hadoop/hbase/TestIOFencing.java  |   13 +-
 .../hadoop/hbase/backup/TestHFileArchiving.java |    2 +-
 .../apache/hadoop/hbase/client/TestAdmin2.java  |   10 +-
 .../coprocessor/SampleRegionWALObserver.java    |   75 +-
 .../hbase/coprocessor/SimpleRegionObserver.java |   49 +-
 .../TestRegionObserverInterface.java            |   69 +-
 .../TestRegionObserverScannerOpenHook.java      |    4 +-
 .../hbase/coprocessor/TestWALObserver.java      |  199 +-
 .../apache/hadoop/hbase/filter/TestFilter.java  |   14 +-
 .../filter/TestInvocationRecordFilter.java      |    8 +-
 .../hadoop/hbase/fs/TestBlockReorder.java       |  114 +-
 .../apache/hadoop/hbase/io/TestHeapSize.java    |    2 +-
 .../hbase/mapreduce/TestHLogRecordReader.java   |  230 +-
 .../hbase/mapreduce/TestImportExport.java       |   55 +-
 .../hbase/mapreduce/TestTableMapReduceUtil.java |    8 +-
 .../hadoop/hbase/mapreduce/TestWALPlayer.java   |   31 +-
 .../hbase/mapreduce/TestWALRecordReader.java    |  268 +++
 .../hadoop/hbase/master/MockRegionServer.java   |    4 +-
 .../master/TestDistributedLogSplitting.java     |  132 +-
 .../hadoop/hbase/master/TestMasterFailover.java |    2 +-
 .../master/snapshot/TestSnapshotFileCache.java  |   17 +-
 .../MetricsRegionServerWrapperStub.java         |    4 +-
 .../hbase/regionserver/TestAtomicOperation.java |    4 +-
 .../regionserver/TestCacheOnWriteInSchema.java  |   20 +-
 .../hbase/regionserver/TestCompaction.java      |    6 +-
 .../TestDefaultCompactSelection.java            |   19 +-
 .../regionserver/TestGetClosestAtOrBefore.java  |    6 +-
 .../hadoop/hbase/regionserver/TestHRegion.java  |  227 +-
 .../hbase/regionserver/TestMajorCompaction.java |    6 +-
 .../hbase/regionserver/TestMinorCompaction.java |    6 +-
 .../TestRegionMergeTransaction.java             |   29 +-
 .../regionserver/TestSplitTransaction.java      |   22 +-
 .../hadoop/hbase/regionserver/TestStore.java    |   16 +-
 .../TestStoreFileRefresherChore.java            |   12 +-
 .../hbase/regionserver/wal/FaultyHLog.java      |   70 -
 .../wal/FaultySequenceFileLogReader.java        |   12 +-
 .../wal/HLogPerformanceEvaluation.java          |  566 -----
 .../regionserver/wal/HLogUtilsForTests.java     |   45 -
 .../regionserver/wal/InstrumentedLogWriter.java |   43 +
 .../wal/InstrumentedSequenceFileLogWriter.java  |   40 -
 .../regionserver/wal/SequenceFileLogWriter.java |   19 +-
 .../hbase/regionserver/wal/TestDurability.java  |   55 +-
 .../hbase/regionserver/wal/TestFSHLog.java      |  478 ++++
 .../hadoop/hbase/regionserver/wal/TestHLog.java | 1341 -----------
 .../regionserver/wal/TestHLogFiltering.java     |  153 --
 .../hbase/regionserver/wal/TestHLogMethods.java |  179 --
 .../wal/TestHLogReaderOnSecureHLog.java         |  197 --
 .../hbase/regionserver/wal/TestHLogSplit.java   | 1567 -------------
 .../wal/TestHLogSplitCompressed.java            |   35 -
 .../regionserver/wal/TestLogRollAbort.java      |   92 +-
 .../regionserver/wal/TestLogRollPeriod.java     |   23 +-
 .../hbase/regionserver/wal/TestLogRolling.java  |  151 +-
 .../wal/TestLogRollingNoCluster.java            |   34 +-
 .../hbase/regionserver/wal/TestProtobufLog.java |  208 ++
 .../wal/TestReadOldRootAndMetaEdits.java        |   39 +-
 .../hbase/regionserver/wal/TestSecureHLog.java  |  129 --
 .../regionserver/wal/TestSecureWALReplay.java   |    6 +-
 .../wal/TestWALActionsListener.java             |   63 +-
 .../hbase/regionserver/wal/TestWALReplay.java   |  133 +-
 .../replication/TestMultiSlaveReplication.java  |   63 +-
 ...estReplicationChangingPeerRegionservers.java |    2 +-
 .../replication/TestReplicationEndpoint.java    |    7 +-
 .../TestReplicationKillMasterRSCompressed.java  |    2 +-
 .../replication/TestReplicationSmallTests.java  |    8 +-
 .../replication/TestReplicationSource.java      |   24 +-
 .../TestReplicationWALEntryFilters.java         |   41 +-
 .../TestReplicationHLogReaderManager.java       |  240 --
 .../TestReplicationSourceManager.java           |   43 +-
 .../TestReplicationWALReaderManager.java        |  222 ++
 .../TestVisibilityLabelsReplication.java        |    2 +-
 .../apache/hadoop/hbase/util/TestFSVisitor.java |   19 +-
 .../apache/hadoop/hbase/util/TestHBaseFsck.java |   16 +-
 .../apache/hadoop/hbase/util/TestMergeTool.java |   62 +-
 .../apache/hadoop/hbase/wal/FaultyFSLog.java    |   76 +
 .../hbase/wal/TestDefaultWALProvider.java       |  332 +++
 .../wal/TestDefaultWALProviderWithHLogKey.java  |   35 +
 .../apache/hadoop/hbase/wal/TestSecureWAL.java  |  137 ++
 .../apache/hadoop/hbase/wal/TestWALFactory.java |  725 ++++++
 .../hadoop/hbase/wal/TestWALFiltering.java      |  153 ++
 .../apache/hadoop/hbase/wal/TestWALMethods.java |  186 ++
 .../hbase/wal/TestWALReaderOnSecureWAL.java     |  217 ++
 .../apache/hadoop/hbase/wal/TestWALSplit.java   | 1308 +++++++++++
 .../hbase/wal/TestWALSplitCompressed.java       |   35 +
 .../hbase/wal/WALPerformanceEvaluation.java     |  567 +++++
 hbase-shell/src/main/ruby/hbase/admin.rb        |    8 +-
 hbase-shell/src/main/ruby/shell.rb              |    8 +-
 .../src/main/ruby/shell/commands/hlog_roll.rb   |   39 -
 .../src/main/ruby/shell/commands/wal_roll.rb    |   42 +
 src/main/docbkx/book.xml                        |   29 +-
 src/main/docbkx/ops_mgt.xml                     |   17 +-
 src/main/docbkx/performance.xml                 |    4 +-
 src/main/docbkx/troubleshooting.xml             |   10 +-
 236 files changed, 13525 insertions(+), 11444 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/bin/hbase
----------------------------------------------------------------------
diff --git a/bin/hbase b/bin/hbase
index 7e7bf0d..31fd232 100755
--- a/bin/hbase
+++ b/bin/hbase
@@ -83,7 +83,7 @@ if [ $# = 0 ]; then
   echo "Some commands take arguments. Pass no args or -h for usage."
   echo "  shell           Run the HBase shell"
   echo "  hbck            Run the hbase 'fsck' tool"
-  echo "  hlog            Write-ahead-log analyzer"
+  echo "  wal             Write-ahead-log analyzer"
   echo "  hfile           Store file analyzer"
   echo "  zkcli           Run the ZooKeeper shell"
   echo "  upgrade         Upgrade hbase"
@@ -293,8 +293,9 @@ if [ "$COMMAND" = "shell" ] ; then
   CLASS="org.jruby.Main -X+O ${JRUBY_OPTS} ${HBASE_HOME}/bin/hirb.rb"
 elif [ "$COMMAND" = "hbck" ] ; then
   CLASS='org.apache.hadoop.hbase.util.HBaseFsck'
-elif [ "$COMMAND" = "hlog" ] ; then
-  CLASS='org.apache.hadoop.hbase.regionserver.wal.HLogPrettyPrinter'
+# TODO remove old 'hlog' version
+elif [ "$COMMAND" = "hlog" -o "$COMMAND" = "wal" ] ; then
+  CLASS='org.apache.hadoop.hbase.wal.WALPrettyPrinter'
 elif [ "$COMMAND" = "hfile" ] ; then
   CLASS='org.apache.hadoop.hbase.io.hfile.HFilePrettyPrinter'
 elif [ "$COMMAND" = "zkcli" ] ; then

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/bin/hbase.cmd
----------------------------------------------------------------------
diff --git a/bin/hbase.cmd b/bin/hbase.cmd
index e30e1cd..db7d856 100644
--- a/bin/hbase.cmd
+++ b/bin/hbase.cmd
@@ -210,7 +210,7 @@ goto :MakeCmdArgsLoop
 set hbase-command-arguments=%_hbasearguments%
 
 @rem figure out which class to run
-set corecommands=shell master regionserver thrift thrift2 rest avro hlog hbck hfile zookeeper zkcli upgrade mapredcp
+set corecommands=shell master regionserver thrift thrift2 rest avro hlog wal hbck hfile zookeeper zkcli upgrade mapredcp
 for %%i in ( %corecommands% ) do (
   if "%hbase-command%"=="%%i" set corecommand=true
 )
@@ -375,8 +375,13 @@ goto :eof
   set CLASS=org.apache.hadoop.hbase.util.HBaseFsck
   goto :eof
 
+@rem TODO remove older 'hlog' command
 :hlog
-  set CLASS=org.apache.hadoop.hbase.regionserver.wal.HLogPrettyPrinter
+  set CLASS=org.apache.hadoop.hbase.wal.WALPrettyPrinter
+  goto :eof
+
+:wal
+  set CLASS=org.apache.hadoop.hbase.wal.WALPrettyPrinter
   goto :eof
 
 :hfile
@@ -416,7 +421,7 @@ goto :eof
   echo Some commands take arguments. Pass no args or -h for usage."
   echo   shell           Run the HBase shell
   echo   hbck            Run the hbase 'fsck' tool
-  echo   hlog            Write-ahead-log analyzer
+  echo   wal             Write-ahead-log analyzer
   echo   hfile           Store file analyzer
   echo   zkcli           Run the ZooKeeper shell
   echo   upgrade         Upgrade hbase

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/DroppedSnapshotException.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/DroppedSnapshotException.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/DroppedSnapshotException.java
index c4799b2..830339c 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/DroppedSnapshotException.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/DroppedSnapshotException.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 
 /**
  * Thrown during flush if the possibility snapshot content was not properly
- * persisted into store files.  Response should include replay of hlog content.
+ * persisted into store files.  Response should include replay of wal content.
  */
 @InterfaceAudience.Public
 @InterfaceStability.Stable

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
index 39adc21..509ee92 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Admin.java
@@ -852,18 +852,17 @@ public interface Admin extends Abortable, Closeable {
     throws IOException;
 
   /**
-   * Roll the log writer. That is, start writing log messages to a new file.
+   * Roll the log writer. I.e. for filesystem based write ahead logs, start writing to a new file.
    *
-   * @param serverName The servername of the regionserver. A server name is made of host, port and
-   * startcode. This is mandatory. Here is an example:
-   * <code> host187.example.com,60020,1289493121758</code>
-   * @return If lots of logs, flush the returned regions so next time through we can clean logs.
-   * Returns null if nothing to flush.  Names are actual region names as returned by {@link
-   * HRegionInfo#getEncodedName()}
+   * Note that the actual rolling of the log writer is asynchronous and may not be complete when
+   * this method returns. As a side effect of this call, the named region server may schedule
+   * store flushes at the request of the wal.
+   *
+   * @param serverName The servername of the regionserver.
    * @throws IOException if a remote or network exception occurs
    * @throws org.apache.hadoop.hbase.regionserver.wal.FailedLogCloseException
    */
-  byte[][] rollHLogWriter(String serverName) throws IOException, FailedLogCloseException;
+  void rollWALWriter(ServerName serverName) throws IOException, FailedLogCloseException;
 
   /**
    * Helper delegage to getClusterStatus().getMasterCoprocessors().

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
index 508d171..a9b98c0 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
@@ -2626,37 +2626,60 @@ public class HBaseAdmin implements Admin {
     return getTableDescriptorsByTableName(tableNames);
   }
 
+  private RollWALWriterResponse rollWALWriterImpl(final ServerName sn) throws IOException,
+      FailedLogCloseException {
+    AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
+    RollWALWriterRequest request = RequestConverter.buildRollWALWriterRequest();
+    try {
+      return admin.rollWALWriter(null, request);
+    } catch (ServiceException se) {
+      throw ProtobufUtil.getRemoteException(se);
+    }
+  }
+
   /**
-   * Roll the log writer. That is, start writing log messages to a new file.
+   * Roll the log writer. I.e. when using a file system based write ahead log, 
+   * start writing log messages to a new file.
+   *
+   * Note that when talking to a version 1.0+ HBase deployment, the rolling is asynchronous.
+   * This method will return as soon as the roll is requested and the return value will
+   * always be null. Additionally, the named region server may schedule store flushes at the
+   * request of the wal handling the roll request.
+   *
+   * When talking to a 0.98 or older HBase deployment, the rolling is synchronous and the
+   * return value may be either null or a list of encoded region names.
    *
    * @param serverName
    *          The servername of the regionserver. A server name is made of host,
    *          port and startcode. This is mandatory. Here is an example:
    *          <code> host187.example.com,60020,1289493121758</code>
-   * @return If lots of logs, flush the returned regions so next time through
-   * we can clean logs. Returns null if nothing to flush.  Names are actual
-   * region names as returned by {@link HRegionInfo#getEncodedName()}
+   * @return a set of {@link HRegionInfo#getEncodedName()} that would allow the wal to
+   *         clean up some underlying files. null if there's nothing to flush.
    * @throws IOException if a remote or network exception occurs
    * @throws FailedLogCloseException
+   * @deprecated use {@link #rollWALWriter(ServerName)}
    */
-  @Override
-  public synchronized  byte[][] rollHLogWriter(String serverName)
+  @Deprecated
+  public synchronized byte[][] rollHLogWriter(String serverName)
       throws IOException, FailedLogCloseException {
     ServerName sn = ServerName.valueOf(serverName);
-    AdminService.BlockingInterface admin = this.connection.getAdmin(sn);
-    RollWALWriterRequest request = RequestConverter.buildRollWALWriterRequest();
-    try {
-      RollWALWriterResponse response = admin.rollWALWriter(null, request);
-      int regionCount = response.getRegionToFlushCount();
-      byte[][] regionsToFlush = new byte[regionCount][];
-      for (int i = 0; i < regionCount; i++) {
-        ByteString region = response.getRegionToFlush(i);
-        regionsToFlush[i] = region.toByteArray();
-      }
-      return regionsToFlush;
-    } catch (ServiceException se) {
-      throw ProtobufUtil.getRemoteException(se);
+    final RollWALWriterResponse response = rollWALWriterImpl(sn);
+    int regionCount = response.getRegionToFlushCount();
+    if (0 == regionCount) {
+      return null;
     }
+    byte[][] regionsToFlush = new byte[regionCount][];
+    for (int i = 0; i < regionCount; i++) {
+      ByteString region = response.getRegionToFlush(i);
+      regionsToFlush[i] = region.toByteArray();
+    }
+    return regionsToFlush;
+  }
+
+  @Override
+  public synchronized void rollWALWriter(ServerName serverName)
+      throws IOException, FailedLogCloseException {
+    rollWALWriterImpl(serverName);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
index 16c28f0..74b413b 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/replication/ReplicationAdmin.java
@@ -67,7 +67,7 @@ import com.google.common.collect.Lists;
  * Adding a new peer results in creating new outbound connections from every
  * region server to a subset of region servers on the slave cluster. Each
  * new stream of replication will start replicating from the beginning of the
- * current HLog, meaning that edits from that past will be replicated.
+ * current WAL, meaning that edits from that past will be replicated.
  * </p>
  * <p>
  * Removing a peer is a destructive and irreversible operation that stops

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
index 8b7e6f2..725736a 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ResponseConverter.java
@@ -36,7 +36,6 @@ import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.CloseRegionRespons
 import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetOnlineRegionResponse;
 import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.GetServerInfoResponse;
 import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.OpenRegionResponse;
-import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.RollWALWriterResponse;
 import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ServerInfo;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest;
@@ -184,21 +183,6 @@ public final class ResponseConverter {
 // Start utilities for Admin
 
   /**
-   * Get the list of regions to flush from a RollLogWriterResponse
-   *
-   * @param proto the RollLogWriterResponse
-   * @return the the list of regions to flush
-   */
-  public static byte[][] getRegions(final RollWALWriterResponse proto) {
-    if (proto == null || proto.getRegionToFlushCount() == 0) return null;
-    List<byte[]> regions = new ArrayList<byte[]>();
-    for (ByteString region: proto.getRegionToFlushList()) {
-      regions.add(region.toByteArray());
-    }
-    return (byte[][])regions.toArray();
-  }
-
-  /**
    * Get the list of region info from a GetOnlineRegionResponse
    *
    * @param proto the GetOnlineRegionResponse

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueues.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueues.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueues.java
index 611f663..3dbbc33 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueues.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueues.java
@@ -26,7 +26,7 @@ import org.apache.hadoop.hbase.classification.InterfaceAudience;
 
 /**
  * This provides an interface for maintaining a region server's replication queues. These queues
- * keep track of the HLogs that still need to be replicated to remote clusters.
+ * keep track of the WALs that still need to be replicated to remote clusters.
  */
 @InterfaceAudience.Private
 public interface ReplicationQueues {
@@ -45,31 +45,31 @@ public interface ReplicationQueues {
   void removeQueue(String queueId);
 
   /**
-   * Add a new HLog file to the given queue. If the queue does not exist it is created.
+   * Add a new WAL file to the given queue. If the queue does not exist it is created.
    * @param queueId a String that identifies the queue.
-   * @param filename name of the HLog
+   * @param filename name of the WAL
    */
   void addLog(String queueId, String filename) throws ReplicationException;
 
   /**
-   * Remove an HLog file from the given queue.
+   * Remove an WAL file from the given queue.
    * @param queueId a String that identifies the queue.
-   * @param filename name of the HLog
+   * @param filename name of the WAL
    */
   void removeLog(String queueId, String filename);
 
   /**
-   * Set the current position for a specific HLog in a given queue.
+   * Set the current position for a specific WAL in a given queue.
    * @param queueId a String that identifies the queue
-   * @param filename name of the HLog
+   * @param filename name of the WAL
    * @param position the current position in the file
    */
   void setLogPosition(String queueId, String filename, long position);
 
   /**
-   * Get the current position for a specific HLog in a given queue.
+   * Get the current position for a specific WAL in a given queue.
    * @param queueId a String that identifies the queue
-   * @param filename name of the HLog
+   * @param filename name of the WAL
    * @return the current position in the file
    */
   long getLogPosition(String queueId, String filename) throws ReplicationException;
@@ -80,9 +80,9 @@ public interface ReplicationQueues {
   void removeAllQueues();
 
   /**
-   * Get a list of all HLogs in the given queue.
+   * Get a list of all WALs in the given queue.
    * @param queueId a String that identifies the queue
-   * @return a list of HLogs, null if this region server is dead and has no outstanding queues
+   * @return a list of WALs, null if this region server is dead and has no outstanding queues
    */
   List<String> getLogsInQueue(String queueId);
 
@@ -95,7 +95,7 @@ public interface ReplicationQueues {
   /**
    * Take ownership for the set of queues belonging to a dead region server.
    * @param regionserver the id of the dead region server
-   * @return A SortedMap of the queues that have been claimed, including a SortedSet of HLogs in
+   * @return A SortedMap of the queues that have been claimed, including a SortedSet of WALs in
    *         each queue. Returns an empty map if no queues were failed-over.
    */
   SortedMap<String, SortedSet<String>> claimQueues(String regionserver);

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClient.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClient.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClient.java
index 5c068be..fed1791 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClient.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClient.java
@@ -25,7 +25,7 @@ import org.apache.hadoop.hbase.classification.InterfaceAudience;
 
 /**
  * This provides an interface for clients of replication to view replication queues. These queues
- * keep track of the HLogs that still need to be replicated to remote clusters.
+ * keep track of the WALs that still need to be replicated to remote clusters.
  */
 @InterfaceAudience.Private
 public interface ReplicationQueuesClient {
@@ -43,10 +43,10 @@ public interface ReplicationQueuesClient {
   List<String> getListOfReplicators();
 
   /**
-   * Get a list of all HLogs in the given queue on the given region server.
+   * Get a list of all WALs in the given queue on the given region server.
    * @param serverName the server name of the region server that owns the queue
    * @param queueId a String that identifies the queue
-   * @return a list of HLogs, null if this region server is dead and has no outstanding queues
+   * @return a list of WALs, null if this region server is dead and has no outstanding queues
    */
   List<String> getLogsInQueue(String serverName, String queueId);
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java
index 3bc4f48..43262a0 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesClientZKImpl.java
@@ -53,7 +53,7 @@ public class ReplicationQueuesClientZKImpl extends ReplicationStateZKBase implem
     try {
       result = ZKUtil.listChildrenNoWatch(this.zookeeper, znode);
     } catch (KeeperException e) {
-      this.abortable.abort("Failed to get list of hlogs for queueId=" + queueId
+      this.abortable.abort("Failed to get list of wals for queueId=" + queueId
           + " and serverName=" + serverName, e);
     }
     return result;

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java
index 9abb94b..6a30511 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/replication/ReplicationQueuesZKImpl.java
@@ -43,21 +43,21 @@ import org.apache.zookeeper.KeeperException;
 /**
  * This class provides an implementation of the ReplicationQueues interface using Zookeeper. The
  * base znode that this class works at is the myQueuesZnode. The myQueuesZnode contains a list of
- * all outstanding HLog files on this region server that need to be replicated. The myQueuesZnode is
+ * all outstanding WAL files on this region server that need to be replicated. The myQueuesZnode is
  * the regionserver name (a concatenation of the region server’s hostname, client port and start
  * code). For example:
  *
  * /hbase/replication/rs/hostname.example.org,6020,1234
  *
- * Within this znode, the region server maintains a set of HLog replication queues. These queues are
+ * Within this znode, the region server maintains a set of WAL replication queues. These queues are
  * represented by child znodes named using there give queue id. For example:
  *
  * /hbase/replication/rs/hostname.example.org,6020,1234/1
  * /hbase/replication/rs/hostname.example.org,6020,1234/2
  *
- * Each queue has one child znode for every HLog that still needs to be replicated. The value of
- * these HLog child znodes is the latest position that has been replicated. This position is updated
- * every time a HLog entry is replicated. For example:
+ * Each queue has one child znode for every WAL that still needs to be replicated. The value of
+ * these WAL child znodes is the latest position that has been replicated. This position is updated
+ * every time a WAL entry is replicated. For example:
  *
  * /hbase/replication/rs/hostname.example.org,6020,1234/1/23522342.23422 [VALUE: 254]
  */
@@ -115,7 +115,7 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
       znode = ZKUtil.joinZNode(znode, filename);
       ZKUtil.deleteNode(this.zookeeper, znode);
     } catch (KeeperException e) {
-      this.abortable.abort("Failed to remove hlog from queue (queueId=" + queueId + ", filename="
+      this.abortable.abort("Failed to remove wal from queue (queueId=" + queueId + ", filename="
           + filename + ")", e);
     }
   }
@@ -128,7 +128,7 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
       // Why serialize String of Long and not Long as bytes?
       ZKUtil.setData(this.zookeeper, znode, ZKUtil.positionToByteArray(position));
     } catch (KeeperException e) {
-      this.abortable.abort("Failed to write replication hlog position (filename=" + filename
+      this.abortable.abort("Failed to write replication wal position (filename=" + filename
           + ", position=" + position + ")", e);
     }
   }
@@ -148,12 +148,12 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
       return 0;
     }
     try {
-      return ZKUtil.parseHLogPositionFrom(bytes);
+      return ZKUtil.parseWALPositionFrom(bytes);
     } catch (DeserializationException de) {
-      LOG.warn("Failed to parse HLogPosition for queueId=" + queueId + " and hlog=" + filename
+      LOG.warn("Failed to parse WALPosition for queueId=" + queueId + " and wal=" + filename
           + "znode content, continuing.");
     }
-    // if we can not parse the position, start at the beginning of the hlog file
+    // if we can not parse the position, start at the beginning of the wal file
     // again
     return 0;
   }
@@ -168,10 +168,10 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
     SortedMap<String, SortedSet<String>> newQueues = new TreeMap<String, SortedSet<String>>();
     // check whether there is multi support. If yes, use it.
     if (conf.getBoolean(HConstants.ZOOKEEPER_USEMULTI, true)) {
-      LOG.info("Atomically moving " + regionserverZnode + "'s hlogs to my queue");
+      LOG.info("Atomically moving " + regionserverZnode + "'s wals to my queue");
       newQueues = copyQueuesFromRSUsingMulti(regionserverZnode);
     } else {
-      LOG.info("Moving " + regionserverZnode + "'s hlogs to my queue");
+      LOG.info("Moving " + regionserverZnode + "'s wals to my queue");
       if (!lockOtherRS(regionserverZnode)) {
         return newQueues;
       }
@@ -202,7 +202,7 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
     try {
       result = ZKUtil.listChildrenNoWatch(this.zookeeper, znode);
     } catch (KeeperException e) {
-      this.abortable.abort("Failed to get list of hlogs for queueId=" + queueId, e);
+      this.abortable.abort("Failed to get list of wals for queueId=" + queueId, e);
     }
     return result;
   }
@@ -285,10 +285,10 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
   }
 
   /**
-   * It "atomically" copies all the hlogs queues from another region server and returns them all
+   * It "atomically" copies all the wals queues from another region server and returns them all
    * sorted per peer cluster (appended with the dead server's znode).
    * @param znode pertaining to the region server to copy the queues from
-   * @return HLog queues sorted per peer cluster
+   * @return WAL queues sorted per peer cluster
    */
   private SortedMap<String, SortedSet<String>> copyQueuesFromRSUsingMulti(String znode) {
     SortedMap<String, SortedSet<String>> queues = new TreeMap<String, SortedSet<String>>();
@@ -310,8 +310,8 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
         String newPeerZnode = ZKUtil.joinZNode(this.myQueuesZnode, newPeerId);
         // check the logs queue for the old peer cluster
         String oldClusterZnode = ZKUtil.joinZNode(deadRSZnodePath, peerId);
-        List<String> hlogs = ZKUtil.listChildrenNoWatch(this.zookeeper, oldClusterZnode);
-        if (hlogs == null || hlogs.size() == 0) {
+        List<String> wals = ZKUtil.listChildrenNoWatch(this.zookeeper, oldClusterZnode);
+        if (wals == null || wals.size() == 0) {
           listOfOps.add(ZKUtilOp.deleteNodeFailSilent(oldClusterZnode));
           continue; // empty log queue.
         }
@@ -321,15 +321,15 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
         ZKUtilOp op = ZKUtilOp.createAndFailSilent(newPeerZnode, HConstants.EMPTY_BYTE_ARRAY);
         listOfOps.add(op);
         // get the offset of the logs and set it to new znodes
-        for (String hlog : hlogs) {
-          String oldHlogZnode = ZKUtil.joinZNode(oldClusterZnode, hlog);
-          byte[] logOffset = ZKUtil.getData(this.zookeeper, oldHlogZnode);
-          LOG.debug("Creating " + hlog + " with data " + Bytes.toString(logOffset));
-          String newLogZnode = ZKUtil.joinZNode(newPeerZnode, hlog);
+        for (String wal : wals) {
+          String oldWalZnode = ZKUtil.joinZNode(oldClusterZnode, wal);
+          byte[] logOffset = ZKUtil.getData(this.zookeeper, oldWalZnode);
+          LOG.debug("Creating " + wal + " with data " + Bytes.toString(logOffset));
+          String newLogZnode = ZKUtil.joinZNode(newPeerZnode, wal);
           listOfOps.add(ZKUtilOp.createAndFailSilent(newLogZnode, logOffset));
           // add ops for deleting
-          listOfOps.add(ZKUtilOp.deleteNodeFailSilent(oldHlogZnode));
-          logQueue.add(hlog);
+          listOfOps.add(ZKUtilOp.deleteNodeFailSilent(oldWalZnode));
+          logQueue.add(wal);
         }
         // add delete op for peer
         listOfOps.add(ZKUtilOp.deleteNodeFailSilent(oldClusterZnode));
@@ -352,10 +352,10 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
   }
 
   /**
-   * This methods copies all the hlogs queues from another region server and returns them all sorted
+   * This methods copies all the wals queues from another region server and returns them all sorted
    * per peer cluster (appended with the dead server's znode)
    * @param znode server names to copy
-   * @return all hlogs for all peers of that cluster, null if an error occurred
+   * @return all wals for all peers of that cluster, null if an error occurred
    */
   private SortedMap<String, SortedSet<String>> copyQueuesFromRS(String znode) {
     // TODO this method isn't atomic enough, we could start copying and then
@@ -383,31 +383,31 @@ public class ReplicationQueuesZKImpl extends ReplicationStateZKBase implements R
         String newCluster = cluster + "-" + znode;
         String newClusterZnode = ZKUtil.joinZNode(this.myQueuesZnode, newCluster);
         String clusterPath = ZKUtil.joinZNode(nodePath, cluster);
-        List<String> hlogs = ZKUtil.listChildrenNoWatch(this.zookeeper, clusterPath);
+        List<String> wals = ZKUtil.listChildrenNoWatch(this.zookeeper, clusterPath);
         // That region server didn't have anything to replicate for this cluster
-        if (hlogs == null || hlogs.size() == 0) {
+        if (wals == null || wals.size() == 0) {
           continue;
         }
         ZKUtil.createNodeIfNotExistsAndWatch(this.zookeeper, newClusterZnode,
           HConstants.EMPTY_BYTE_ARRAY);
         SortedSet<String> logQueue = new TreeSet<String>();
         queues.put(newCluster, logQueue);
-        for (String hlog : hlogs) {
-          String z = ZKUtil.joinZNode(clusterPath, hlog);
+        for (String wal : wals) {
+          String z = ZKUtil.joinZNode(clusterPath, wal);
           byte[] positionBytes = ZKUtil.getData(this.zookeeper, z);
           long position = 0;
           try {
-            position = ZKUtil.parseHLogPositionFrom(positionBytes);
+            position = ZKUtil.parseWALPositionFrom(positionBytes);
           } catch (DeserializationException e) {
-            LOG.warn("Failed parse of hlog position from the following znode: " + z
+            LOG.warn("Failed parse of wal position from the following znode: " + z
                 + ", Exception: " + e);
           }
-          LOG.debug("Creating " + hlog + " with data " + position);
-          String child = ZKUtil.joinZNode(newClusterZnode, hlog);
+          LOG.debug("Creating " + wal + " with data " + position);
+          String child = ZKUtil.joinZNode(newClusterZnode, wal);
           // Position doesn't actually change, we are just deserializing it for
           // logging, so just use the already serialized version
           ZKUtil.createAndWatch(this.zookeeper, child, positionBytes);
-          logQueue.add(hlog);
+          logQueue.add(wal);
         }
       }
     } catch (KeeperException e) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
----------------------------------------------------------------------
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
index aef81e0..d63a206 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java
@@ -1673,7 +1673,7 @@ public class ZKUtil {
       if (data != null && data.length > 0) { // log position
         long position = 0;
         try {
-          position = ZKUtil.parseHLogPositionFrom(ZKUtil.getData(zkw, znodeToProcess));
+          position = ZKUtil.parseWALPositionFrom(ZKUtil.getData(zkw, znodeToProcess));
           sb.append(position);
         } catch (DeserializationException ignored) {
         } catch (InterruptedException e) {
@@ -1924,7 +1924,7 @@ public class ZKUtil {
   /**
    * @param position
    * @return Serialized protobuf of <code>position</code> with pb magic prefix prepended suitable
-   *         for use as content of an hlog position in a replication queue.
+   *         for use as content of an wal position in a replication queue.
    */
   public static byte[] positionToByteArray(final long position) {
     byte[] bytes = ZooKeeperProtos.ReplicationHLogPosition.newBuilder().setPosition(position)
@@ -1933,13 +1933,13 @@ public class ZKUtil {
   }
 
   /**
-   * @param bytes - Content of a HLog position znode.
-   * @return long - The current HLog position.
+   * @param bytes - Content of a WAL position znode.
+   * @return long - The current WAL position.
    * @throws DeserializationException
    */
-  public static long parseHLogPositionFrom(final byte[] bytes) throws DeserializationException {
+  public static long parseWALPositionFrom(final byte[] bytes) throws DeserializationException {
     if (bytes == null) {
-      throw new DeserializationException("Unable to parse null HLog position.");
+      throw new DeserializationException("Unable to parse null WAL position.");
     }
     if (ProtobufUtil.isPBMagicPrefix(bytes)) {
       int pblen = ProtobufUtil.lengthOfPBMagic();

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
index 223a0e3..454f346 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
@@ -874,7 +874,7 @@ public final class HConstants {
   /** File permission umask to use when creating hbase data files */
   public static final String DATA_FILE_UMASK_KEY = "hbase.data.umask";
 
-  /** Configuration name of HLog Compression */
+  /** Configuration name of WAL Compression */
   public static final String ENABLE_WAL_COMPRESSION =
     "hbase.regionserver.wal.enablecompression";
 
@@ -1006,7 +1006,7 @@ public final class HConstants {
   /** Configuration key for the name of the master WAL encryption key for the cluster, a string */
   public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";
 
-  /** Configuration key for enabling HLog encryption, a boolean */
+  /** Configuration key for enabling WAL encryption, a boolean */
   public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";
 
   /** Configuration key for setting RPC codec class name */

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
index f6cb93d..b4b5755 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java
@@ -1195,7 +1195,7 @@ public class KeyValue implements Cell, HeapSize, Cloneable, SettableSequenceId,
 
   /**
    * Produces a string map for this key/value pair. Useful for programmatic use
-   * and manipulation of the data stored in an HLogKey, for example, printing
+   * and manipulation of the data stored in an WALKey, for example, printing
    * as JSON. Values are left out due to their tendency to be large. If needed,
    * they can be added manually.
    *

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-common/src/main/resources/hbase-default.xml
----------------------------------------------------------------------
diff --git a/hbase-common/src/main/resources/hbase-default.xml b/hbase-common/src/main/resources/hbase-default.xml
index 15a53dc..4a24a43 100644
--- a/hbase-common/src/main/resources/hbase-default.xml
+++ b/hbase-common/src/main/resources/hbase-default.xml
@@ -112,8 +112,8 @@ possible configurations would overwhelm and obscure the important.
     <name>hbase.master.logcleaner.plugins</name>
     <value>org.apache.hadoop.hbase.master.cleaner.TimeToLiveLogCleaner</value>
     <description>A comma-separated list of BaseLogCleanerDelegate invoked by
-    the LogsCleaner service. These WAL/HLog cleaners are called in order,
-    so put the HLog cleaner that prunes the most HLog files in front. To
+    the LogsCleaner service. These WAL cleaners are called in order,
+    so put the cleaner that prunes the most files in front. To
     implement your own BaseLogCleanerDelegate, just put it in HBase's classpath
     and add the fully qualified class name here. Always add the above
     default log cleaners in the list.</description>
@@ -121,7 +121,7 @@ possible configurations would overwhelm and obscure the important.
   <property>
     <name>hbase.master.logcleaner.ttl</name>
     <value>600000</value>
-    <description>Maximum time a HLog can stay in the .oldlogdir directory,
+    <description>Maximum time a WAL can stay in the .oldlogdir directory,
     after which it will be cleaned by a Master thread.</description>
   </property>
   <property>
@@ -265,12 +265,12 @@ possible configurations would overwhelm and obscure the important.
   <property>
     <name>hbase.regionserver.hlog.reader.impl</name>
     <value>org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader</value>
-    <description>The HLog file reader implementation.</description>
+    <description>The WAL file reader implementation.</description>
   </property>
   <property>
     <name>hbase.regionserver.hlog.writer.impl</name>
     <value>org.apache.hadoop.hbase.regionserver.wal.ProtobufLogWriter</value>
-    <description>The HLog file writer implementation.</description>
+    <description>The WAL file writer implementation.</description>
   </property>
   <property>
     <name>hbase.master.distributed.log.replay</name>

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java
index 2307599..6cf942b 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterFileSystemSource.java
@@ -48,9 +48,9 @@ public interface MetricsMasterFileSystemSource extends BaseSource {
   String SPLIT_SIZE_NAME = "hlogSplitSize";
 
   String META_SPLIT_TIME_DESC = "Time it takes to finish splitMetaLog()";
-  String META_SPLIT_SIZE_DESC = "Size of hbase:meta HLog files being split";
-  String SPLIT_TIME_DESC = "Time it takes to finish HLog.splitLog()";
-  String SPLIT_SIZE_DESC = "Size of HLog files being split";
+  String META_SPLIT_SIZE_DESC = "Size of hbase:meta WAL files being split";
+  String SPLIT_TIME_DESC = "Time it takes to finish WAL.splitLog()";
+  String SPLIT_SIZE_DESC = "Size of WAL files being split";
 
 
   void updateMetaWALSplitTime(long time);

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
index 5bbab08..c64cc88 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.java
@@ -129,10 +129,10 @@ public interface MetricsRegionServerSource extends BaseSource {
   String REGION_COUNT_DESC = "Number of regions";
   String STORE_COUNT = "storeCount";
   String STORE_COUNT_DESC = "Number of Stores";
-  String HLOGFILE_COUNT = "hlogFileCount";
-  String HLOGFILE_COUNT_DESC = "Number of HLog Files";
-  String HLOGFILE_SIZE = "hlogFileSize";
-  String HLOGFILE_SIZE_DESC = "Size of all HLog Files";
+  String WALFILE_COUNT = "hlogFileCount";
+  String WALFILE_COUNT_DESC = "Number of WAL Files";
+  String WALFILE_SIZE = "hlogFileSize";
+  String WALFILE_SIZE_DESC = "Size of all WAL Files";
   String STOREFILE_COUNT = "storeFileCount";
   String STOREFILE_COUNT_DESC = "Number of Store Files";
   String MEMSTORE_SIZE = "memStoreSize";

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
index 32eea04..dea2440 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
@@ -68,14 +68,14 @@ public interface MetricsRegionServerWrapper {
   long getNumStores();
 
   /**
-   * Get the number of HLog files of this region server.
+   * Get the number of WAL files of this region server.
    */
-  public long getNumHLogFiles();
+  public long getNumWALFiles();
   
   /**
-   * Get the size of HLog files of this region server.
+   * Get the size of WAL files of this region server.
    */
-  public long getHLogFileSize();
+  public long getWALFileSize();
   
   /**
    * Get the number of store files hosted on this region server.

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsEditsReplaySource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsEditsReplaySource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsEditsReplaySource.java
index 793429d..4f8cb36 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsEditsReplaySource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsEditsReplaySource.java
@@ -39,7 +39,7 @@ public interface MetricsEditsReplaySource extends BaseSource {
   /**
    * Description
    */
-  String METRICS_DESCRIPTION = "Metrics about HBase RegionServer HLog Edits Replay";
+  String METRICS_DESCRIPTION = "Metrics about HBase RegionServer WAL Edits Replay";
 
   /**
    * The name of the metrics context that metrics will be under in jmx

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
index 1c59f65..ba0df80 100644
--- a/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
+++ b/hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSource.java
@@ -21,7 +21,7 @@ package org.apache.hadoop.hbase.regionserver.wal;
 import org.apache.hadoop.hbase.metrics.BaseSource;
 
 /**
- * Interface of the source that will export metrics about the region server's HLog.
+ * Interface of the source that will export metrics about the region server's WAL.
  */
 public interface MetricsWALSource extends BaseSource {
 
@@ -39,7 +39,7 @@ public interface MetricsWALSource extends BaseSource {
   /**
    * Description
    */
-  String METRICS_DESCRIPTION = "Metrics about HBase RegionServer HLog";
+  String METRICS_DESCRIPTION = "Metrics about HBase RegionServer WAL";
 
   /**
    * The name of the metrics context that metrics will be under in jmx
@@ -52,11 +52,11 @@ public interface MetricsWALSource extends BaseSource {
   String APPEND_COUNT = "appendCount";
   String APPEND_COUNT_DESC = "Number of appends to the write ahead log.";
   String APPEND_SIZE = "appendSize";
-  String APPEND_SIZE_DESC = "Size (in bytes) of the data appended to the HLog.";
+  String APPEND_SIZE_DESC = "Size (in bytes) of the data appended to the WAL.";
   String SLOW_APPEND_COUNT = "slowAppendCount";
   String SLOW_APPEND_COUNT_DESC = "Number of appends that were slow.";
   String SYNC_TIME = "syncTime";
-  String SYNC_TIME_DESC = "The time it took to sync the HLog to HDFS.";
+  String SYNC_TIME_DESC = "The time it took to sync the WAL to HDFS.";
 
   /**
    * Add the append size.
@@ -69,7 +69,7 @@ public interface MetricsWALSource extends BaseSource {
   void incrementAppendTime(long time);
 
   /**
-   * Increment the count of hlog appends
+   * Increment the count of wal appends
    */
   void incrementAppendCount();
 
@@ -79,7 +79,7 @@ public interface MetricsWALSource extends BaseSource {
   void incrementSlowAppendCount();
 
   /**
-   * Add the time it took to sync the hlog.
+   * Add the time it took to sync the wal.
    */
   void incrementSyncTime(long time);
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsHLogSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsHLogSource.java b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsHLogSource.java
deleted file mode 100644
index b2bf1f2..0000000
--- a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsHLogSource.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hbase.regionserver.wal;
-
-import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
-import org.junit.Test;
-
-public class TestMetricsHLogSource {
-
-  @Test(expected=RuntimeException.class)
-  public void testGetInstanceNoHadoopCompat() throws Exception {
-    //This should throw an exception because there is no compat lib on the class path.
-    CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);
-
-  }
-}

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
new file mode 100644
index 0000000..5254198
--- /dev/null
+++ b/hbase-hadoop-compat/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestMetricsWALSource.java
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hbase.regionserver.wal;
+
+import org.apache.hadoop.hbase.CompatibilitySingletonFactory;
+import org.junit.Test;
+
+public class TestMetricsWALSource {
+
+  @Test(expected=RuntimeException.class)
+  public void testGetInstanceNoHadoopCompat() throws Exception {
+    //This should throw an exception because there is no compat lib on the class path.
+    CompatibilitySingletonFactory.getInstance(MetricsWALSource.class);
+
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
index c7b26b6..cb12aa1 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
@@ -168,8 +168,8 @@ public class MetricsRegionServerSourceImpl
     if (rsWrap != null) {
       mrb.addGauge(Interns.info(REGION_COUNT, REGION_COUNT_DESC), rsWrap.getNumOnlineRegions())
           .addGauge(Interns.info(STORE_COUNT, STORE_COUNT_DESC), rsWrap.getNumStores())
-          .addGauge(Interns.info(HLOGFILE_COUNT, HLOGFILE_COUNT_DESC), rsWrap.getNumHLogFiles())
-          .addGauge(Interns.info(HLOGFILE_SIZE, HLOGFILE_SIZE_DESC), rsWrap.getHLogFileSize())
+          .addGauge(Interns.info(WALFILE_COUNT, WALFILE_COUNT_DESC), rsWrap.getNumWALFiles())
+          .addGauge(Interns.info(WALFILE_SIZE, WALFILE_SIZE_DESC), rsWrap.getWALFileSize())
           .addGauge(Interns.info(STOREFILE_COUNT, STOREFILE_COUNT_DESC), rsWrap.getNumStoreFiles())
           .addGauge(Interns.info(MEMSTORE_SIZE, MEMSTORE_SIZE_DESC), rsWrap.getMemstoreSize())
           .addGauge(Interns.info(STOREFILE_SIZE, STOREFILE_SIZE_DESC), rsWrap.getStoreFileSize())

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
index ad8f24c..d602d2f 100644
--- a/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
+++ b/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/wal/MetricsWALSourceImpl.java
@@ -25,9 +25,10 @@ import org.apache.hadoop.metrics2.lib.MutableCounterLong;
 
 
 /**
- * Class that transitions metrics from HLog's MetricsWAL into the metrics subsystem.
+ * Class that transitions metrics from MetricsWAL into the metrics subsystem.
  *
  * Implements BaseSource through BaseSourceImpl, following the pattern.
+ * @see org.apache.hadoop.hbase.regionserver.wal.MetricsWAL
  */
 @InterfaceAudience.Private
 public class MetricsWALSourceImpl extends BaseSourceImpl implements MetricsWALSource {

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestIngestWithEncryption.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestIngestWithEncryption.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestIngestWithEncryption.java
index f4246a2..f4f5a2c 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestIngestWithEncryption.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestIngestWithEncryption.java
@@ -26,7 +26,8 @@ import org.apache.hadoop.hbase.io.crypto.KeyProviderForTesting;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileReaderV3;
 import org.apache.hadoop.hbase.io.hfile.HFileWriterV3;
-import org.apache.hadoop.hbase.regionserver.wal.HLog;
+import org.apache.hadoop.hbase.wal.WAL.Reader;
+import org.apache.hadoop.hbase.wal.WALProvider.Writer;
 import org.apache.hadoop.hbase.regionserver.wal.SecureProtobufLogReader;
 import org.apache.hadoop.hbase.regionserver.wal.SecureProtobufLogWriter;
 import org.apache.hadoop.util.ToolRunner;
@@ -60,9 +61,9 @@ public class IntegrationTestIngestWithEncryption extends IntegrationTestIngest {
       conf.set(HConstants.CRYPTO_KEYPROVIDER_CONF_KEY, KeyProviderForTesting.class.getName());
       conf.set(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY, "hbase");
       conf.setClass("hbase.regionserver.hlog.reader.impl", SecureProtobufLogReader.class,
-        HLog.Reader.class);
+        Reader.class);
       conf.setClass("hbase.regionserver.hlog.writer.impl", SecureProtobufLogWriter.class,
-        HLog.Writer.class);
+        Writer.class);
       conf.setBoolean(HConstants.ENABLE_WAL_ENCRYPTION, true);
     }
     super.setUpCluster();

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java
----------------------------------------------------------------------
diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java
index de5281b..955ed18 100644
--- a/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java
+++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java
@@ -82,7 +82,7 @@ import com.google.common.base.Objects;
  * <ol>
  * <li>
  * Load Test Tool.<br/>
- * This runs so that all RegionServers will have some load and HLogs will be full.
+ * This runs so that all RegionServers will have some load and WALs will be full.
  * </li>
  * <li>
  * Scan thread.<br/>
@@ -151,7 +151,7 @@ public class IntegrationTestMTTR {
   private static Action restartMasterAction;
 
   /**
-   * The load test tool used to create load and make sure that HLogs aren't empty.
+   * The load test tool used to create load and make sure that WALs aren't empty.
    */
   private static LoadTestTool loadTool;
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java
index 9ffe0fd..3828742 100644
--- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java
+++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/AdminProtos.java
@@ -16956,6 +16956,12 @@ public final class AdminProtos {
   }
   /**
    * Protobuf type {@code RollWALWriterResponse}
+   *
+   * <pre>
+   *
+   * Roll request responses no longer include regions to flush
+   * this list will always be empty when talking to a 1.0 server
+   * </pre>
    */
   public static final class RollWALWriterResponse extends
       com.google.protobuf.GeneratedMessage
@@ -17241,6 +17247,12 @@ public final class AdminProtos {
     }
     /**
      * Protobuf type {@code RollWALWriterResponse}
+     *
+     * <pre>
+     *
+     * Roll request responses no longer include regions to flush
+     * this list will always be empty when talking to a 1.0 server
+     * </pre>
      */
     public static final class Builder extends
         com.google.protobuf.GeneratedMessage.Builder<Builder>

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java
index 19a8d74..ec169d5 100644
--- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java
+++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/RegionServerStatusProtos.java
@@ -4496,7 +4496,7 @@ public final class RegionServerStatusProtos {
      * <code>required uint64 last_flushed_sequence_id = 1;</code>
      *
      * <pre>
-     ** the last HLog sequence id flushed from MemStore to HFile for the region 
+     * the last WAL sequence id flushed from MemStore to HFile for the region 
      * </pre>
      */
     boolean hasLastFlushedSequenceId();
@@ -4504,7 +4504,7 @@ public final class RegionServerStatusProtos {
      * <code>required uint64 last_flushed_sequence_id = 1;</code>
      *
      * <pre>
-     ** the last HLog sequence id flushed from MemStore to HFile for the region 
+     * the last WAL sequence id flushed from MemStore to HFile for the region 
      * </pre>
      */
     long getLastFlushedSequenceId();
@@ -4612,7 +4612,7 @@ public final class RegionServerStatusProtos {
      * <code>required uint64 last_flushed_sequence_id = 1;</code>
      *
      * <pre>
-     ** the last HLog sequence id flushed from MemStore to HFile for the region 
+     * the last WAL sequence id flushed from MemStore to HFile for the region 
      * </pre>
      */
     public boolean hasLastFlushedSequenceId() {
@@ -4622,7 +4622,7 @@ public final class RegionServerStatusProtos {
      * <code>required uint64 last_flushed_sequence_id = 1;</code>
      *
      * <pre>
-     ** the last HLog sequence id flushed from MemStore to HFile for the region 
+     * the last WAL sequence id flushed from MemStore to HFile for the region 
      * </pre>
      */
     public long getLastFlushedSequenceId() {
@@ -4908,7 +4908,7 @@ public final class RegionServerStatusProtos {
        * <code>required uint64 last_flushed_sequence_id = 1;</code>
        *
        * <pre>
-       ** the last HLog sequence id flushed from MemStore to HFile for the region 
+       * the last WAL sequence id flushed from MemStore to HFile for the region 
        * </pre>
        */
       public boolean hasLastFlushedSequenceId() {
@@ -4918,7 +4918,7 @@ public final class RegionServerStatusProtos {
        * <code>required uint64 last_flushed_sequence_id = 1;</code>
        *
        * <pre>
-       ** the last HLog sequence id flushed from MemStore to HFile for the region 
+       * the last WAL sequence id flushed from MemStore to HFile for the region 
        * </pre>
        */
       public long getLastFlushedSequenceId() {
@@ -4928,7 +4928,7 @@ public final class RegionServerStatusProtos {
        * <code>required uint64 last_flushed_sequence_id = 1;</code>
        *
        * <pre>
-       ** the last HLog sequence id flushed from MemStore to HFile for the region 
+       * the last WAL sequence id flushed from MemStore to HFile for the region 
        * </pre>
        */
       public Builder setLastFlushedSequenceId(long value) {
@@ -4941,7 +4941,7 @@ public final class RegionServerStatusProtos {
        * <code>required uint64 last_flushed_sequence_id = 1;</code>
        *
        * <pre>
-       ** the last HLog sequence id flushed from MemStore to HFile for the region 
+       * the last WAL sequence id flushed from MemStore to HFile for the region 
        * </pre>
        */
       public Builder clearLastFlushedSequenceId() {

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
index af61d47..977db42 100644
--- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
+++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/WALProtos.java
@@ -1242,7 +1242,9 @@ public final class WALProtos {
    * Protobuf type {@code WALKey}
    *
    * <pre>
-   * Protocol buffer version of HLogKey; see HLogKey comment, not really a key but WALEdit header for some KVs
+   *
+   * Protocol buffer version of WALKey; see WALKey comment, not really a key but WALEdit header
+   * for some KVs
    * </pre>
    */
   public static final class WALKey extends
@@ -2033,7 +2035,9 @@ public final class WALProtos {
      * Protobuf type {@code WALKey}
      *
      * <pre>
-     * Protocol buffer version of HLogKey; see HLogKey comment, not really a key but WALEdit header for some KVs
+     *
+     * Protocol buffer version of WALKey; see WALKey comment, not really a key but WALEdit header
+     * for some KVs
      * </pre>
      */
     public static final class Builder extends
@@ -10021,8 +10025,10 @@ public final class WALProtos {
    *
    * <pre>
    **
-   * A trailer that is appended to the end of a properly closed HLog WAL file.
+   * A trailer that is appended to the end of a properly closed WAL file.
    * If missing, this is either a legacy or a corrupted WAL file.
+   * N.B. This trailer currently doesn't contain any information and we
+   * purposefully don't expose it in the WAL APIs. It's for future growth.
    * </pre>
    */
   public static final class WALTrailer extends
@@ -10246,8 +10252,10 @@ public final class WALProtos {
      *
      * <pre>
      **
-     * A trailer that is appended to the end of a properly closed HLog WAL file.
+     * A trailer that is appended to the end of a properly closed WAL file.
      * If missing, this is either a legacy or a corrupted WAL file.
+     * N.B. This trailer currently doesn't contain any information and we
+     * purposefully don't expose it in the WAL APIs. It's for future growth.
      * </pre>
      */
     public static final class Builder extends

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
index 8bad13f..6a6cb5e 100644
--- a/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
+++ b/hbase-protocol/src/main/java/org/apache/hadoop/hbase/protobuf/generated/ZooKeeperProtos.java
@@ -7105,7 +7105,7 @@ public final class ZooKeeperProtos {
    *
    * <pre>
    **
-   * Used by replication. Holds the current position in an HLog file.
+   * Used by replication. Holds the current position in an WAL file.
    * </pre>
    */
   public static final class ReplicationHLogPosition extends
@@ -7373,7 +7373,7 @@ public final class ZooKeeperProtos {
      *
      * <pre>
      **
-     * Used by replication. Holds the current position in an HLog file.
+     * Used by replication. Holds the current position in an WAL file.
      * </pre>
      */
     public static final class Builder extends

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/protobuf/Admin.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/Admin.proto b/hbase-protocol/src/main/protobuf/Admin.proto
index ec34e72..fcc4e1d 100644
--- a/hbase-protocol/src/main/protobuf/Admin.proto
+++ b/hbase-protocol/src/main/protobuf/Admin.proto
@@ -204,6 +204,10 @@ message ReplicateWALEntryResponse {
 message RollWALWriterRequest {
 }
 
+/*
+ * Roll request responses no longer include regions to flush
+ * this list will always be empty when talking to a 1.0 server
+ */
 message RollWALWriterResponse {
   // A list of encoded name of regions to flush
   repeated bytes region_to_flush = 1;

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/protobuf/RegionServerStatus.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/RegionServerStatus.proto b/hbase-protocol/src/main/protobuf/RegionServerStatus.proto
index df9a521..75e5ae4 100644
--- a/hbase-protocol/src/main/protobuf/RegionServerStatus.proto
+++ b/hbase-protocol/src/main/protobuf/RegionServerStatus.proto
@@ -74,7 +74,7 @@ message GetLastFlushedSequenceIdRequest {
 }
 
 message GetLastFlushedSequenceIdResponse {
-  /** the last HLog sequence id flushed from MemStore to HFile for the region */
+  /* the last WAL sequence id flushed from MemStore to HFile for the region */
   required uint64 last_flushed_sequence_id = 1;
 }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/protobuf/WAL.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/WAL.proto b/hbase-protocol/src/main/protobuf/WAL.proto
index dae92d2..f8a1534 100644
--- a/hbase-protocol/src/main/protobuf/WAL.proto
+++ b/hbase-protocol/src/main/protobuf/WAL.proto
@@ -31,7 +31,10 @@ message WALHeader {
   optional string cell_codec_cls_name = 5;
 }
 
-// Protocol buffer version of HLogKey; see HLogKey comment, not really a key but WALEdit header for some KVs
+/*
+ * Protocol buffer version of WALKey; see WALKey comment, not really a key but WALEdit header
+ * for some KVs
+ */
 message WALKey {
   required bytes encoded_region_name = 1;
   required bytes table_name = 2;
@@ -144,8 +147,10 @@ message RegionEventDescriptor {
 }
 
 /**
- * A trailer that is appended to the end of a properly closed HLog WAL file.
+ * A trailer that is appended to the end of a properly closed WAL file.
  * If missing, this is either a legacy or a corrupted WAL file.
+ * N.B. This trailer currently doesn't contain any information and we
+ * purposefully don't expose it in the WAL APIs. It's for future growth.
  */
 message WALTrailer {
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/8959828f/hbase-protocol/src/main/protobuf/ZooKeeper.proto
----------------------------------------------------------------------
diff --git a/hbase-protocol/src/main/protobuf/ZooKeeper.proto b/hbase-protocol/src/main/protobuf/ZooKeeper.proto
index 2ccfe8d..bd1dc30 100644
--- a/hbase-protocol/src/main/protobuf/ZooKeeper.proto
+++ b/hbase-protocol/src/main/protobuf/ZooKeeper.proto
@@ -142,7 +142,7 @@ message ReplicationState {
 }
 
 /**
- * Used by replication. Holds the current position in an HLog file.
+ * Used by replication. Holds the current position in an WAL file.
  */
 message ReplicationHLogPosition {
   required int64 position = 1;


Mime
View raw message