8959828fb5
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 |
||
---|---|---|
.. | ||
src/main | ||
README.txt | ||
pom.xml |
README.txt
These are the protobuf definition files used by hbase. The produced java classes are generated into src/main/java/org/apache/hadoop/hbase/protobuf/generated and then checked in. The reasoning is that they change infrequently. To regenerate the classes after making definition file changes, ensure first that the protobuf protoc tool is in your $PATH (You may need to download it and build it first; its part of the protobuf package obtainable from here: http://code.google.com/p/protobuf/downloads/list). HBase uses hadoop-maven-plugins:protoc goal to invoke the protoc command. You can compile the protoc definitions by invoking maven with profile compile-protobuf or passing in compile-protobuf property. mvn compile -Dcompile-protobuf or mvn compile -Pcompile-protobuf You may also want to define protoc.path for the protoc binary mvn compile -Dcompile-protobuf -Dprotoc.path=/opt/local/bin/protoc If you have added a new proto file, you should add it to the pom.xml file first. Other modules also support the maven profile. After you've done the above, check it in and then check it in (or post a patch on a JIRA with your definition file changes and the generated files).