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

stack commented on HBASE-410:
-----------------------------

So, refactoring halved the time:

{code}
Class           Duration        Fail    (diff)          Skip    (diff)          
Total           (diff)   
TestAdmin       58 sec  0               0               3       
TestForceSplit  59 sec  0               0               1       
TestFromClientSide      3 min 41 sec    0               0               29      
TestGetRowVersions      37 sec  0               0               1       
TestHTablePool  0.29 sec        0               0               4       
TestTimestamp   18 sec  0               0               1       
{code}

Overall the client code runs in 6.5 minutes.  Tests I did not touch do 'weird' 
stuff like restarting cluster in middle of test (or do not use a cluster) and 
generally don't take too long so I'll leave them as is for now.  Will look at 
other tests to see where we start up a cluster multiple times and replace the 
with idiom.

Here is what it used to be running in 13 minutes:

{code}
Class           Duration        Fail    (diff)          Skip    (diff)          
Total           (diff)   
TestClient      4 min 25 sec    0               0               11      
TestForceSplit  40 sec  0               0               1       
TestGet         37 sec  0               0               2       
TestGetRowVersions      35 sec  0               0               1       
TestHBaseAdmin  2 min 3 sec     0               0               3       
TestHTable      1 min 33 sec    0               0               5       
TestHTablePool  0.29 sec        0               0               4       
TestListTables  30 sec  0               0               1       
TestPut         1 min 31 sec    0               0               5       
TestScannerTimes        55 sec  0               0               1       
TestTimestamp   18 sec  0               0               1       
{code}

> [testing] Speed up the test suite
> ---------------------------------
>
>                 Key: HBASE-410
>                 URL: https://issues.apache.org/jira/browse/HBASE-410
>             Project: Hadoop HBase
>          Issue Type: Test
>          Components: test
>    Affects Versions: 0.2.0
>            Reporter: Bryan Duxbury
>            Priority: Minor
>             Fix For: 0.21.0
>
>         Attachments: 410-v2.patch, 410-v3.patch, 410-v4.patch, 410.patch
>
>
> The test suite takes a long time to run, and a lot of the time spent running 
> is really wasted on repeated startup and shutdown, waiting for asynchronous 
> events to occur, and production-tuned timeouts to occur. Additionally, we use 
> a MiniDFS instead of the local filesystem. 
> We should:
>  - Make whatever changes are needed to the local DFS so that it can run on 
> Windows and use that as the basis of all of our tests
>  - Minimize redoing expensive setup where possible by combining tests into 
> groups or suites that can share common setup
>  - Create a way of running all the parts (Master, Regionserver, Client) in a 
> single thread and explicitly advancing through necessary states so that we 
> can reliably and quickly get what we need tested accomplished
>  - Use smaller test datasets where it would make a difference (TestTableIndex 
> and TestTableMapReduce, I'm looking at you!)
> A faster test suite means faster turnaround on new patches, faster Hudson, 
> and a shorter patch queue. Not to mention less annoyance on the part of the 
> developers.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to