[ 
https://issues.apache.org/jira/browse/HBASE-10592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909851#comment-13909851
 ] 

Andrew Purtell commented on HBASE-10592:
----------------------------------------

+1 for 0.98.

I don't believe we should expose any kind of user facing API from code in 
test/. If we want to make PE something that users are encouraged to build upon, 
the sources should first be moved from test/ to main/, and then interface 
annotations should be added. 

> Refactor PerformanceEvaluation tool
> -----------------------------------
>
>                 Key: HBASE-10592
>                 URL: https://issues.apache.org/jira/browse/HBASE-10592
>             Project: HBase
>          Issue Type: Improvement
>          Components: test
>    Affects Versions: 0.96.2, 0.98.1, 0.99.0
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>            Priority: Minor
>             Fix For: 0.99.0
>
>         Attachments: HBASE-10592.00-0.96.patch, HBASE-10592.00-0.98.patch, 
> HBASE-10592.00.patch
>
>
> 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)

Reply via email to