[jira] [HBASE-4908] HBase cluster test tool (port from 0.89-fb)
ClosedPublic

Press ? to show keyboard shortcuts.
Author
mbautin
Reviewers
stack
Karthik
Kannan
nspiegelberg
JIRA
Lint
Lint Skipped
Unit
Unit Tests Skipped
Commits
Unknown Object (Diffusion Commit)
Unknown Object (Diffusion Commit)
Branch
hct36
Apply Patch
arc patch D549
Arcanist Project
Restricted Arcanist Project
Subscribers
Karthik, mbautin, nspiegelberg, stack
Projects
None
Summary

Porting one of our HBase cluster test tools (a single-process multi-threaded load generator and verifier) from 0.89-fb to trunk.
I cleaned up the code a bit compared to what's in 0.89-fb, and discovered that it has some features that I have not tried yet (some kind of a kill test, and some way to run HBase as multiple processes on one machine).
The main utility of this piece of code for us has been the LoadTestTool command-line tool (called HBaseTest in 0.89-fb), which we usually invoke as a load test in our five-node dev cluster testing, e.g.:

hbase org.apache.hadoop.hbase.util.LoadTestTool -write 50:100:20 -tn my_test_table -read 100:10 -zk <zk_quorum_node> -bloom ROWCOL -compression LZO -key_window 5 -max_read_errors 10000 -num_keys 10000000000 -start_key 0

Test Plan

Run this on a dev cluster. Run all unit tests.

Older changes are hidden. Show older changes.
stack added inline comments.Via LegacyNov 30 2011, 11:51 PM
src/test/java/org/apache/hadoop/hbase/manual/RestartMetaTest.java
17 ↗(On Diff #1743)

ditto on package. Should this be in under src/test or under src/main? Maybe package should be tool rather than manual?

152 ↗(On Diff #1743)

There is a lot of overlap w/ previous test here, the HBaseClusterTest tool?

src/test/java/org/apache/hadoop/hbase/manual/utils/DataGenerator.java
24 ↗(On Diff #1743)

comment on what this does?

src/test/java/org/apache/hadoop/hbase/manual/utils/DisplayFormatUtils.java
24 ↗(On Diff #1743)
src/test/java/org/apache/hadoop/hbase/manual/utils/HBaseUtils.java
38 ↗(On Diff #1743)

Class comment. HBaseUtils is a pretty generic name; says nothing about content.

53 ↗(On Diff #1743)

Remove

54 ↗(On Diff #1743)

Why not just let this out? Should at least say in javadoc that it can return a null?

59 ↗(On Diff #1743)

This method does not look like it belongs in a generic hbaseutils class. It looks like it belongs to the testing tool that makes up the bulk of this patch. Doesn't seem like method name describes properly what it does either. Why not let out exceptions rather than catch and log.

92 ↗(On Diff #1743)

HSA is deprecated.

96 ↗(On Diff #1743)

Use MetaReader? e.g:

public static Pair<HRegionInfo, ServerName> getRegion(

CatalogTracker catalogTracker, byte [] regionName)
99 ↗(On Diff #1743)

Odd name for this method and it also looks a bit dodgy returning an HBC but it only has zk location set into it.

111 ↗(On Diff #1743)

This looks like it belongs in Keying class under util? Or in HBaseSplitter?

124 ↗(On Diff #1743)

ditto

139 ↗(On Diff #1743)

This should be in Bytes (is it not already?)

151 ↗(On Diff #1743)

ditto

src/test/java/org/apache/hadoop/hbase/manual/utils/HdfsAppender.java
36 ↗(On Diff #1743)

Does this belong in an hbase test class?

src/test/java/org/apache/hadoop/hbase/manual/utils/KillProcessesAndVerify.java
33 ↗(On Diff #1743)

class comment.

119 ↗(On Diff #1743)

Let these out rather than just print them?

152 ↗(On Diff #1743)

What keys are being passed here?

src/test/java/org/apache/hadoop/hbase/manual/utils/MultiThreadedAction.java
31 ↗(On Diff #1743)

Class comment

src/test/java/org/apache/hadoop/hbase/manual/utils/MultiThreadedReader.java
156 ↗(On Diff #1743)

Remove

src/test/java/org/apache/hadoop/hbase/manual/utils/ProcessBasedLocalHBaseCluster.java
36 ↗(On Diff #1743)

Class comment. Is this doing what minihbasecluster does?

256 ↗(On Diff #1743)

Not sure this a good idea.

nspiegelberg added a comment.Via LegacyDec 1 2011, 12:08 AM

@stack : We should have a distinction:

PerformanceEvaluation - meant to get an idea of the performance of your system setup. Able to find performance regressions or understand theoretical performance gains of datapath changes

Load Tester - meant to provide deterministic, long-running load on a system. Allows for large scale verification to catch race conditions resulting from logic error or process failure (in a distributed system setting).

stack added a comment.Via LegacyDec 1 2011, 12:19 AM

@Nicolas Sure on the distinction but PE can do threaded or MR'd workloads and has a means of plugging in different loading profiles (subclass Client and then implement run). I'd think it would be better able to put up a sustained loading when loading is coming out of MR (in spite of its ugly name -- name comes from BT paper).

I'm fine w/ this tool going in as is (after some cleanup). Can work then separately on unifying the two if it makes sense as a different project.

mbautin updated this revision.Via LegacyDec 1 2011, 3:00 AM

Partially addressing Stack's comments (I will address the rest of them in the next version of this diff). The load test seems to work fine on a dev cluster. I also tried out RestartMetaTest. The idea is to start a local HBase cluster with multiple regionservers on different ports, load some data, kill a regionserver, restart it, and do some checks. I like the of a "process-based local HBase cluster" because it opens up a possibility for a whole new range of unit tests (integration tests?) where we are allowed to kill processes for real, but cannot inspect the internals of those processes. This also allows us to test cluster management scripts (the hbase script, hbase-daemon.sh, etc.) from Java itself. Of course, we need to make sure we don't leave those processes hanging, but that can be addressed in the shutdown hook of the unit test (or @After handler).

RestartMetaTest still needs some work to make it robust and usable, and we probably want to make it a unit test.

mbautin updated this revision.Via LegacyDec 2 2011, 10:05 AM

Debugged and significantly improved RestartMetaTest and its dependency ProcessBasedLocalHBaseCluster to the point of actually being able to run a local multi-process test of an HBase cluster that kills the region server with the .META. region and splits the logs. Discovered that our log splitting does not work correctly with RawLocalFileSystem or checksum-enabled local filesystem, and added a fix to the hack in SequenceFileLogReader to only apply reflection logic to DFSInputStream.

Still need to clean up the code, re-run unit tests, and re-test HBaseClusterTest on a live cluster.

mbautin updated this revision.Via LegacyDec 3 2011, 3:43 AM

Addressed some more of Stack's comments. Got rid of the kill test -- it is a large area by itself and is best left out of the scope of this diff. Refactored the common part of RestartMetaTest and HBaseClusterTest into IntegrationTestTool. I think eventually we need to be able to run integration tests both from command line and through the JUnit framework. Also, we can probably unify the mini-cluster framework with the process-based HBase cluster stuff later, and have a subset of integration tests run in both modes.

I also added two unit tests: TestMiniClusterLoad{Sequential,Parallel}. The former runs a write workload followed by a separate read workload, and the latter one runs a read workload concurrently with the writes (which is noticeably slower -- maybe that's something to investigate).

A thorough round of testing and cleanup is still necessary before this diff can be finalized.

mbautin added a comment.Via LegacyDec 3 2011, 3:48 AM

Some replies inline. I will remove HdfsAppender test as well -- it seems unrelated to the main purpose of the load tester tool.

src/test/java/org/apache/hadoop/hbase/manual/HBaseClusterTest.java
17 ↗(On Diff #1743)

Moved to org.apache.hadoop.hbase.util.

92 ↗(On Diff #1743)

Done.

103 ↗(On Diff #1743)

Made 20 a constant and removed separate logic for the (endKey - startKey) <= 1000 case.

204 ↗(On Diff #1743)

Mentioned this in the class comment.

src/test/java/org/apache/hadoop/hbase/manual/RestartMetaTest.java
36 ↗(On Diff #1743)

Added.

152 ↗(On Diff #1743)

There is not a lot of overlap of functionality, but perhaps some overlap in structure, e.g. command-line argument processing. I'd like to avoid doing a lot of refactoring until the next iteration. Ideally it should be possible to run every integration test both as a JUnit test and as a command-line tool.

mbautin added a comment.Via LegacyDec 5 2011, 5:17 AM

@stack: see responses to your comments inline. A new version of the diff will follow.

src/test/java/org/apache/hadoop/hbase/manual/HBaseClusterTest.java
47 ↗(On Diff #1743)

Added class documentation.

52 ↗(On Diff #1743)

Removed trailing underscores.

275 ↗(On Diff #1743)

I added some class comment anyway, and removed kill test and append test from this tool (we can port them over separately).

src/test/java/org/apache/hadoop/hbase/manual/utils/HBaseUtils.java
38 ↗(On Diff #1743)

Moved these tool methods to Keying and HBaseTestingUtility and got rid of this class.

53 ↗(On Diff #1743)

Got rid of this method entirely and started using the HTable constructor directly.

54 ↗(On Diff #1743)

See above (got rid of this method).

59 ↗(On Diff #1743)

Moved this to HBaseTestingUtility.

92 ↗(On Diff #1743)

Changed to "getMetaRSPort" (because we only need the port number in this use case) and modified to use getRegionLocation.

96 ↗(On Diff #1743)

See the above comment.

99 ↗(On Diff #1743)

Got rid of this method.

111 ↗(On Diff #1743)

Moved to Keying. Not sure where HBaseSplitter is (could not find that type or file).

124 ↗(On Diff #1743)

Moved to Keying.

139 ↗(On Diff #1743)

Moved to Bytes.

151 ↗(On Diff #1743)

Moved to Bytes.

src/test/java/org/apache/hadoop/hbase/manual/utils/HdfsAppender.java
36 ↗(On Diff #1743)

Removed HdfsAppender from this diff.

src/test/java/org/apache/hadoop/hbase/manual/utils/KillProcessesAndVerify.java
33 ↗(On Diff #1743)

Removed the kill test from this diff.

119 ↗(On Diff #1743)

Removed this entire class from the diff for now.

152 ↗(On Diff #1743)

Removed this entire class (kill test) for now.

src/test/java/org/apache/hadoop/hbase/manual/utils/MultiThreadedAction.java
31 ↗(On Diff #1743)

Added.

src/test/java/org/apache/hadoop/hbase/manual/utils/MultiThreadedActionMBean.java
19 ↗(On Diff #1743)

Removed this class. Its only purpose was to collect stats from the distributed load test through JMX.

src/test/java/org/apache/hadoop/hbase/manual/utils/ProcessBasedLocalHBaseCluster.java
36 ↗(On Diff #1743)

Added a class comment. Unlike MiniHBaseCluster, this starts each daemon as a separate process and allows to do real kill testing.

256 ↗(On Diff #1743)

Refactored this to generate configuration from a map. Does that address your concern, or are you objecting to the whole idea of auto-generating configuration for daemon processes in a process-based local HBase cluster?

mbautin updated this revision.Via LegacyDec 5 2011, 7:48 AM

This passes unit tests (I will confirm this again -- please do not commit yet), and is successfully running a load test in a 5-node cluster.

The reader verifies keys sequentially in the current version, and if it catches up with the reader it sleeps until more keys are written. This is different from the original version of HBaseTest in 0.89-fb (renamed LoadTest in this version), and I think I will modify the reader to read some previous keys that are known to have been written when the "current key" of the reader catches up with the last key written by the writer.

I also made the number of read errors to tolerate configurable (the --max_read_errors option).

I think it will take me a couple more iterations on this diff before it can be committed. Sorry for a lot of updates and emails.

mbautin updated this revision.Via LegacyDec 5 2011, 11:10 PM

The unit tests run fine (except TestReplication.queueFailover, which is flaky), and cluster testing works well. I rewrote the writer/reader synchronization mechanism after talking to Kannan, so that the reader gets the precise knowledge of what is the last key in the contiguous sequence of keys starting from startKey that the writer has written. This required implementing a producer/consumer pattern with a special InsertedKeyTracker thread sorting inserted keys and advancing the "last contiguous key" marker. Also clarified and improved a bunch of command-line stuff in LoadTest.

mbautin updated this revision.Via LegacyDec 5 2011, 11:12 PM

Rebased on changes from trunk.

nspiegelberg added inline comments.Via LegacyDec 5 2011, 11:41 PM
src/main/java/org/apache/hadoop/hbase/util/Bytes.java
1658–1680

this seems util-specific. this should probably be in some more specialized class rather than Bytes.java

src/main/java/org/apache/hadoop/hbase/util/Keying.java
41–43

all the changes in Keying.java are already found in RegionSplitter.java under HexStringSplit. I would reuse that class

src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
1820–1821

better to use

splits = RegionSplitter.HexStringSplit.split(totalNumberOfRegions)
nspiegelberg added inline comments.Via LegacyDec 5 2011, 11:47 PM
src/test/java/org/apache/hadoop/hbase/util/IntegrationTestTool.java
129 ↗(On Diff #1941)

isn't the standard width 80? Is there a system setting we can use?

Karthik added inline comments.Via LegacyDec 6 2011, 6:45 AM
src/test/java/org/apache/hadoop/hbase/util/LoadTest.java
318 ↗(On Diff #1941)

One question - when does this integration test exit? Both for the write and read paths?

stack added a comment.Via LegacyDec 6 2011, 10:52 PM

This is looking great Mikhail.

src/main/java/org/apache/hadoop/hbase/EmptyWatcher.java
28

When would I want one of these?

src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java
176

Is this from another issue Mikhail? (No matter if it is... we can take care of it on commit).

src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java
37

Thanks for doing this.

src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java
111

Thanks for fixing this.

src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
1798

Good

src/test/java/org/apache/hadoop/hbase/util/IntegrationTestTool.java
39 ↗(On Diff #1941)

Will this be run as an IntegrationTest because it has the IntegrationTest prefix; (see the Integration Test section on this page, http://hbase.apache.org/book/hbase.tests.html, if you don't have cluse what I'm on about)?

I like the idea of this class. We need it. Nice how you subclass tool.

src/test/java/org/apache/hadoop/hbase/util/LoadTest.java
40 ↗(On Diff #1941)

Should this class have the IntegrationTest prefix or you think this is just a tool not part of IntegrationTests?

Since its sitting beside PerformanceEvaluation tool, should you say something on how it differs from it?

src/test/java/org/apache/hadoop/hbase/util/RestartMetaTest.java
37

Should this be an IntegrationTest? (We can do the convertion in another issue).

mbautin added a comment.Via LegacyDec 7 2011, 2:32 AM

Thanks for reviews, Nicolas and Stack! See responses below. A new version of the code will follow. Still have to re-run the unit tests (I've been having some trouble with those recently -- http://pastebin.com/1G1ZcPeV) and sanity-check the command-line load tester. On a side note, here are some stats from my recent load test run on a 5-node cluster:

11/12/06 18:30:25 INFO util.MultiThreadedAction: [W:21] Keys=17180542, cols=819.4m, time=27:49:20 Overall: [keys/s= 171, latency=116 ms] Current: [keys/s=219, latency=90 ms], insertedUpTo=17180495, insertedQSize=26
11/12/06 18:30:25 INFO util.MultiThreadedAction: [R:10] Keys=250690067, cols=11.8g, time=27:49:20 Overall: [keys/s= 2502, latency=3 ms] Current: [keys/s=261, latency=38 ms], verified=250690067

(The number of writer's threads is reported as 21 because there is an "inserted keys tracker" thread that keeps track of the most recent contiguous key written by all writers.)

src/main/java/org/apache/hadoop/hbase/EmptyWatcher.java
28

I moved this to from the test jar to the main jar because of the waitForBaseZNode method that I added to ZKUtil. We need this kind of watcher for quick ZK checks when we don't want to use a callback. Passing a null instead of a watcher does not work.

src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java
176

Not sure what changes you are talking about. I made a few conf options that I needed to use constants in HConstants.

src/main/java/org/apache/hadoop/hbase/util/Bytes.java
1658–1680

Removed these methods and reused the existing RegionSetting.HexStringSplit class.

src/main/java/org/apache/hadoop/hbase/util/Keying.java
41–43

Removed this.

src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
1820–1821

Done. Thanks!

src/test/java/org/apache/hadoop/hbase/util/IntegrationTestTool.java
39 ↗(On Diff #1941)

Renamed this to AbstractHBaseTool and moved to the main jar, since this is general-purpose command line processing functionality. This also avoids the confusion with the IntegrationTest notation (thanks for the link!) I think we will be creating a lot of integration tests very soon.

129 ↗(On Diff #1941)

Changed this to 80. There is no standard way to get terminal width in Java. http://stackoverflow.com/questions/1286461/can-i-find-the-console-width-with-java

src/test/java/org/apache/hadoop/hbase/util/LoadTest.java
40 ↗(On Diff #1941)

This is the command-line part of LoadTest, so it should not run as part of the test suite. The same multithreaded writer/verifier code is reused in a couple of "large" unit tests, namely TestMiniClusterLoad{Parallel,Sequential}.

I added a line about the differences between this load tester and PerformanceEvaluation.

Renamed this to LoadTestTool.

318 ↗(On Diff #1941)

We first wait for all writers to finish and then wait for all readers to finish, so we should exit when all of those threads stop.

src/test/java/org/apache/hadoop/hbase/util/RestartMetaTest.java
37

Yes, this can be converted to an IntegrationTest. I think making this a unit test was proposed in the past but the controversy was that it spawns a bunch of child processes and extra care should be taken to shut down all of them. We can leave this as a command-line tool for now and convert to a unit test when it is more stable.

mbautin updated this revision.Via LegacyDec 7 2011, 2:33 AM

Addressing Stack's and Nicolas's comments. Still need to re-run the unit tests.

mbautin updated this revision.Via LegacyDec 8 2011, 1:00 AM

Fixing how reader and writer are linked together in the mixed workload. Verified that LoadTestTool works in both reader-only, writer-only, and writer/reader modes on a dev cluster. Unit test failures with and without the patch are identical. I think this patch is good to be committed.

mbautin added a comment.Via LegacyDec 8 2011, 1:56 AM

Some more unit tests results: 1189 test methods, 252 test classes succeeded. TestLogRolling failed when running on the cluster using mrunit, but succeeded locally.

mvn -Dtest=TestLogRolling#testLogRollOnDatanodeDeath -P localTests test

This patch should be OK to commit.

nspiegelberg accepted this revision.Via LegacyDec 8 2011, 2:14 AM

lgtm

mbautin closed this revision.Via LegacyDec 8 2011, 2:43 AM

Revision Update History

DiffIDBaseDescriptionCreatedLintUnit
BaseBase
Diff 117431208671Nov 30 2011, 10:31 PM
Diff 217791208885Partially addressing Stack's comments (I will address the rest of them in the neDec 1 2011, 2:53 AM
Diff 318691209367Debugged and significantly improved RestartMetaTest and its dependency ProcessBaDec 2 2011, 9:58 AM
Diff 418871209688Addressed some more of Stack's comments. Got rid of the kill test -- it is a larDec 3 2011, 3:37 AM
Diff 518991210311This passes unit tests (I will confirm this again -- please do not commit yet), Dec 5 2011, 7:43 AM
Diff 619351210311The unit tests run fine (except TestReplication.queueFailover, which is flaky), Dec 5 2011, 10:54 PM
Diff 719411210697Rebased on changes from trunk.Dec 5 2011, 11:12 PM
Diff 820011211254Addressing Stack's and Nicolas's comments. Still need to re-run the unit tests.Dec 7 2011, 2:32 AM
Diff 920491211719Fixing how reader and writer are linked together in the mixed workload. VerifiedDec 8 2011, 12:47 AM

Local Commits

CommitTreeParentsAuthorSummaryDate
b1d818e78f9332bb4215d1a26a5ba0eb335fmbautin
HBase cluster test tool
Nov 30 2011, 10:29 PM

Table of Contents

PathCoverage (All)Coverage (Touched)
Mpom.xml (176 lines)--
Vsrc/{main ← test}/java/org/apache/hadoop/hbase/EmptyWatcher.java (4 lines)--
Msrc/main/java/org/apache/hadoop/hbase/HConstants.java (24 lines)--
Msrc/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (12 lines)--
Msrc/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java (30 lines)--
Msrc/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java (6 lines)--
Msrc/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java (6 lines)--
Msrc/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (3 lines)--
Msrc/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java (39 lines)--
AMsrc/main/java/org/apache/hadoop/hbase/util/AbstractHBaseTool.java (181 lines)--
Msrc/main/java/org/apache/hadoop/hbase/util/Bytes.java (35 lines)--
Msrc/main/java/org/apache/hadoop/hbase/util/HMerge.java (4 lines)--
Msrc/main/java/org/apache/hadoop/hbase/util/Keying.java (3 lines)--
Msrc/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java (2 lines)--
Msrc/main/java/org/apache/hadoop/hbase/zookeeper/ZKConfig.java (4 lines)--
Msrc/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java (50 lines)--
Vsrc/{test → main}/java/org/apache/hadoop/hbase/EmptyWatcher.java--
Msrc/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java (114 lines)--
Msrc/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (28 lines)--
Msrc/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java (16 lines)--
Msrc/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java (62 lines)--
Msrc/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java (2 lines)--
Msrc/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java (36 lines)--
Msrc/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java (8 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/LoadTestKVGenerator.java (101 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java (305 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/MultiThreadedAction.java (205 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/MultiThreadedReader.java (320 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/MultiThreadedWriter.java (310 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.java (339 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/RestartMetaTest.java (155 lines)--
Msrc/test/java/org/apache/hadoop/hbase/util/TestBytes.java (5 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/TestLoadTestKVGenerator.java (74 lines)--
Msrc/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java (4 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadParallel.java (58 lines)--
AMsrc/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java (116 lines)--

Diff 2049

pom.xml

Loading...

src/main/java/org/apache/hadoop/hbase/EmptyWatcher.java

Loading...

src/main/java/org/apache/hadoop/hbase/HConstants.java

Loading...

src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

Loading...

src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java

Loading...

src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java

Loading...

src/main/java/org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.java

Loading...

src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Loading...

src/main/java/org/apache/hadoop/hbase/regionserver/wal/SequenceFileLogReader.java

Loading...

src/main/java/org/apache/hadoop/hbase/util/AbstractHBaseTool.java

Loading...

src/main/java/org/apache/hadoop/hbase/util/Bytes.java

Loading...

src/main/java/org/apache/hadoop/hbase/util/HMerge.java

Loading...

src/main/java/org/apache/hadoop/hbase/util/Keying.java

Loading...

src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java

Loading...

src/main/java/org/apache/hadoop/hbase/zookeeper/ZKConfig.java

Loading...

src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java

Loading...

src/test/java/org/apache/hadoop/hbase/EmptyWatcher.java

Loading...

src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java

Loading...

src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java

Loading...

src/test/java/org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.java

Loading...

src/test/java/org/apache/hadoop/hbase/mapreduce/TestHFileOutputFormat.java

Loading...

src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java

Loading...

src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionSplitPolicy.java

Loading...

src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestLogRolling.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/LoadTestKVGenerator.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/MultiThreadedAction.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/MultiThreadedReader.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/MultiThreadedWriter.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/RestartMetaTest.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/TestBytes.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/TestLoadTestKVGenerator.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/TestMergeTable.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadParallel.java

Loading...

src/test/java/org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.java

Loading...

Add Comment