Nick Dimiduk created HBASE-10592:
------------------------------------
Summary: Refactor PerformanceEvaluation tool
Key: HBASE-10592
URL: https://issues.apache.org/jira/browse/HBASE-10592
Project: HBase
Issue Type: Improvement
Components: test
Reporter: Nick Dimiduk
Assignee: Nick Dimiduk
Priority: Minor
Fix For: 0.99.0
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.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)