Issue Details (XML | Word | Printable)

Key: DERBY-3982
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Ole Solberg
Reporter: Ole Solberg
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Derby

Add a facility to override the default set of old versions to be tested in the upgrade tests.

Created: 10/Dec/08 02:06 PM   Updated: 04/May/09 06:22 PM
Component/s: Test
Affects Version/s: 10.5.1.1
Fix Version/s: 10.5.1.1

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works DERBY-3982_diff.txt 2008-12-10 02:13 PM Ole Solberg 11 kB
Text File Licensed for inclusion in ASF works DERBY-3982_p2_diff.txt 2008-12-17 02:12 PM Ole Solberg 17 kB
Text File Licensed for inclusion in ASF works DERBY-3982_p2_stat.txt 2008-12-17 02:12 PM Ole Solberg 0.3 kB
Text File Licensed for inclusion in ASF works DERBY-3982_stat.txt 2008-12-10 02:13 PM Ole Solberg 0.2 kB

Resolution Date: 22/Dec/08 10:17 AM


 Description  « Hide
In my testing I have seen a need for performing upgrade testing from local/internal non-public "versions" of Derby.
That is, having local/internal changes to some older branch and allowing upgrade testing from this (not yet public) version.


One solution is to locally modify the 'VERSIONS' table of the upgradetests '_Suite', but this means modifying the source for each such case.

A more flexible solution is to override the default versions (given in 'VERSIONS') by using a property giving a file which lists the versions to test upgrade from. The location to local version jars can currently be given by the 'derbyTesting.oldReleasePath' property. The list of versions could be given by a property 'derbyTesting.oldVersionsPath'.

This will also easily allow us to skip testing upgrade from a specific version. (This can already be done by not having the version jars available.)

The list of versions given via the property should be used whether versions (jars) are available locally (as given by the 'derbyTesting.oldReleasePath' property or fetched from the Apache Derby svn repository ('http://svn.apache.org/repos/asf/db/derby/jars').


I have a patch for this which I will submit for review.



 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Ole Solberg added a comment - 10/Dec/08 02:13 PM
Patch for DERBY-3982. For review.


I also added warning messages for the cases where the version jar files are missing .
This was previously silently ignore, except when running with the debug flag set.


Ole Solberg added a comment - 12/Dec/08 10:51 AM
A short writeup on usage:


a) -DderbyTesting.oldReleasePath=/usr/local/share/java/derby/lib -DderbyTesting.oldVersionsPath=/usr/local/share/java/derby/lib/versions
     Use jars at /usr/local/share/java/derby/lib and test upgrade from the versions listed in /usr/local/share/java/derby/lib/versions
     'versions' might look like this:
# Ignore lines not matching the regexp: "^[\\d]+\\.[\\d]+\\.[\\d]+\\.[\\d]"
10.0.2.1 // 10.0.2.1 (incubator release)
10.1.1.0 // 10.1.1.0 (Aug 3.2005 / SVN 208786)
10.1.2.1 // 10.1.2.1 (Nov 18.2005 / SVN 330608)
10.1.3.1 // 10.1.3.1 (Jun 30.2006 / SVN 417277)
10.2.1.6 // 10.2.1.6 (Oct 02.2006 / SVN 452058)
10.2.2.0 // 10.2.2.0 (Dec 12.2006 / SVN 485682)
10.2.2.1 // (Special test version / SVN 538595)
10.3.1.4 // 10.3.1.4 (Aug 1.2007 / SVN 561794)
10.3.3.0 // 10.3.3.0 (May 12.2008 / SVN 652961)
10.4.1.3 // 10.4.1.3 (April 24.2008 / SVN 648739)
10.4.2.0 // 10.4.2.0 (September 05, 2008 / SVN 693552)
10.4.2.1 // (Special test version / SVN 706043)

b) -DderbyTesting.oldReleasePath=/usr/local/share/java/derby/lib
     Use jars at /usr/local/share/java/derby/lib and test upgrade from the versions listed as defaults (currently as listed in 'VERSIONS').

c) -DderbyTesting.oldVersionsPath=/usr/local/share/java/derby/lib/versions
    Use jars fetched from 'http://svn.apache.org/repos/asf/db/derby/jars' and test upgrade from the versions listed in /usr/local/share/java/derby/lib/versions.
    Will warn that 10.2.2.1 and 10.4.2.1 are not available

d) None of -DderbyTesting.oldReleasePath and -DderbyTesting.oldReleasePath are given
    Use jars fetched from 'http://svn.apache.org/repos/asf/db/derby/jars' and test upgrade from the versions listed as defaults (currently as listed in 'VERSIONS').

Rick Hillegas added a comment - 12/Dec/08 05:56 PM
Thanks for this patch, Ole. One thing I noticed is that the upgrade _Suite now imports two classes from java.util.regex. I think that will prevent the upgrade tests from running on small device platforms since that package is not part of CDC/FP 1.1.

Ole Solberg added a comment - 15/Dec/08 01:59 PM
Thanks for catching that Rick!
I am testing a new patch...

Ole Solberg added a comment - 17/Dec/08 02:12 PM
Hi Rick,

a new patch (DERBY-3982_p2_diff.txt)

Rick Hillegas added a comment - 18/Dec/08 08:09 PM
Hi Ole,

Thanks for the second patch. Looks good to me. I have verified that you can use this new knob to test upgrade from custom patch releases. I have run a full upgrade run from all of the starting points you listed above. I think this is a great improvement. If you think the patch is ready for commit, I will check it in.

As a follow-on patch, it would be great if you could beef up the comment preceding the declaration of OLD_VERSIONS_PATH_PROPERTY, explaining the format of the file of version names. Something like: one version per line, 4 part version name, concluding comments are ignored, etc.

I don't know if you're planning to describe this new feature in the documentation on how to run Derby tests. But that would be appreciated. Thanks!

Ole Solberg added a comment - 19/Dec/08 09:08 AM
Hi Rick,

Thanks for reviewing the second patch. I am setting 'Patch Available' on this one.

I will add better comments and more documentation in a follow-on patch as you suggest.

Thanks!

Rick Hillegas added a comment - 19/Dec/08 02:03 PM
Thanks, Ole. Committed DERBY-3982_p2_diff.txt at subversion revision 728024.

Ole Solberg added a comment - 22/Dec/08 10:16 AM
Thanks for committing the patch Rick!
Removing Patch Available flag.