Hello,

As a continued effort towards improving Derby quality, I wish to contribute some long running system tests for Derby. Here is
a brief description of each:

- Single Table -- This test run with a maximum of 250 connections and the database has only one table with all supported data types and corresponding indices. Duration of the test is 2 weeks and is usable for checking issues regarding memory, locking and concurrency

- Scenario Test - This test is a mail client application where derby is used as the client database. It is a multi threaded test with 4 threads that mimics doing tasks like user activity, purging, backup and refresh(syncing). Duration of each transaction is calculated and can be run in both embedded and n/w server mode. The run time is configurable.

- Network Server Test - similar to Single table using Network Server/Client and all possible data types in a single table and IUD transactions along with triggers, online back-up/restore, re-encryption. The run time is configurable

- Optimizer tests - An assortment of test scenarios using multi-level views, aggregated views, complex joins, etc that verifies the recent DERBY-805/DERBY-1205 optimizer fixes for push-down predicates. Typical runtime is approximately 2 days (depends upon the derby performance)

I don't think these tests can be run as functional tests on a nightly basis. Some of these could be run for weeks and would be useful to test release candidates. I suggest org.apache.derbyTesting.system.tests.<name of the test> as a location for these tests.

I would also suggest a new ant target to build these classes. So that the simple ant command do not have to compile these test classes everytime. If any one wants them, they could run it as ant <target name>.

Also, I was considering opening a JIRA issue for contributing each of of them, but am open to suggestions.

Do let me know if there are any other comments.

Thanks,
Manjula.

Reply via email to