[
https://issues.apache.org/jira/browse/DERBY-5524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-5524:
--------------------------------------
Attachment: d5524.diff
Attaching the patch d5524.diff which disables auto-commit for
xtestMaxOpenStatementsWithQueryTimeout. The time to run the test case is
reduced from 230 sec to 30 sec in my environment when the patch is applied.
> Speed up clean-up after
> StatementJdbc30Test.xtestMaxOpenStatementsWithQueryTimeout
> ----------------------------------------------------------------------------------
>
> Key: DERBY-5524
> URL: https://issues.apache.org/jira/browse/DERBY-5524
> Project: Derby
> Issue Type: Improvement
> Components: Test
> Affects Versions: 10.9.0.0
> Reporter: Knut Anders Hatlen
> Assignee: Knut Anders Hatlen
> Priority: Minor
> Attachments: d5524.diff
>
>
> StatementJdbc30Test.xtestMaxOpenStatementsWithQueryTimeout takes close to
> four minutes in my environment. It turns out it spends most of the time in
> tearDown() closing statements.
> The test case opens a lot of statements (more than 16000) on the same
> connection and keeps them open until the test has completed, to verify that
> it is possible to have that many open statements on a single connection when
> a query timeout has been specified. The test case runs with auto-commit
> enabled, and every call to Statement.close() in tearDown() therefore results
> in an implicit commit. When committing a transaction, the engine needs to go
> through the list of activations in that transaction. Since there's one
> activation per open statement, that list is pretty long. Although it gets
> shorter for each statement that is closed, it takes a while to get through
> all the statements (~16000^2/2 activations need to be checked before all
> statements are closed...).
> This can easily be fixed by disabling auto-commit for the test case. Since no
> (implicit) commit happens during the test case itself, this doesn't change
> the semantics of the test case. It will speed up the closing of the
> statements in tearDown() because it will no longer run 16000 implicit commits
> and traverse the long list of activations 16000 times.
--
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