Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.96.2, 0.98.1, 0.99.0
-
None
-
Reviewed
Description
PerfEval is kind of a mess. It's painful to add new features because the test options are itemized and passed as parameters to internal methods. Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode is a chore because of it.
This patch refactors the tool. Options are now passed around to methods and such as a POJO instead of one-by-one. Get rid of accessors that don't help anyone. On the mapreduce side, serialization is now handled using json (jackson is a dependency anyway) instead of the hand-rolled regex we used before. Also do away with custom InputSplit and FileFormat, instead using Text and NLineInputFormat. On the local mode side, combine 1 client and N clients into the same implementation. That implementation now uses an ExecutorService, so we can later decouple number of client workers from number of client tasks. Finally, drop a bunch of confusing local state, instead use the new TestOptions POJO as a parameter to static methods.
Attachments
Attachments
Issue Links
- is depended upon by
-
HBASE-10791 Add integration test to demonstrate performance improvement
- Closed
-
HBASE-9953 PerformanceEvaluation: Decouple data size from client concurrency
- Closed