[ 
https://issues.apache.org/jira/browse/DERBY-5472?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-5472:
--------------------------------------

    Attachment: d5472.diff

The attached patch makes the suggested changes to the test case. I've verified 
that it still fails with OOME when backing out DERBY-5336 and running with 
-Xmx16M.

This reduces the time to run MemoryLeakFixesTest from 210 seconds to 40 seconds 
in my environment.
                
> Speed up MemoryLeakFixesTest.testRepeatedDatabaseCreationWithAutoStats()
> ------------------------------------------------------------------------
>
>                 Key: DERBY-5472
>                 URL: https://issues.apache.org/jira/browse/DERBY-5472
>             Project: Derby
>          Issue Type: Improvement
>          Components: Test
>    Affects Versions: 10.9.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>         Attachments: d5472.diff
>
>
> MemoryLeakFixesTest.testRepeatedDatabaseCreationWithAutoStats() takes fairly 
> long time. When I run it with -Xmx16M (per instructions in the comments) in 
> my environment, that test case alone takes 80-90 seconds. And it runs twice 
> (embedded and client) so it takes nearly 3 minutes in total.
> There are ways to speed it up and still have it expose DERBY-5336, for which 
> it was originally written:
> 1) The body of the test is executed 50 times. When the fix for DERBY-5336 is 
> backed out, the test case typically fails in the 8th or 9th iteration, so 20 
> iterations should be enough.
> 2) In each iteration, a table with 500 rows is created. Since the goal is to 
> get the istat daemon to run, we only need to insert enough rows to exceed 
> derby.storage.indexStats.debug.createThreshold, which is 100 by default. 
> Reducing the size to for example 200 rows would be OK.
> 3) When populating the table, a select statement is compiled and executed in 
> between each insert statement. To get the istat daemon running, it's 
> sufficient to execute a single select statement once the table is populated.
> 4) Every insert statement is compiled separately. Would be better to compile 
> once and execute multiple times.
> 5) Populating the table could happen with auto-commit off.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to