[
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.