You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2009/09/11 21:52:58 UTC

[jira] Commented: (DERBY-4359) Make UpgradeTrajectoryTest run on JVM 1.6

    [ https://issues.apache.org/jira/browse/DERBY-4359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12754303#action_12754303 ] 

Rick Hillegas commented on DERBY-4359:
--------------------------------------

I can verify that the test fails for me on Java 6 as well. I believe this is the reason:

1) The test uses JDBCDataSource to get a data source.

2) On Java 6 JDBCDataSource tries to create an instance of Derby's JDBC4 data source.

3) That data source does not exist in Derby versions before 10.2.2.0.

4) The class loader looks for classes first in the jar files of the old Derby version which the test is trying to use. If the class loader doesn't find a class in those jar files, then the class loader defaults to look on the vm classpath.

5) So for Derby versions before 10.2.2.0, on Java 6 the class loader falls through and returns a 10.6 version of Derby's JDBC4 data source.

6) That then causes the test to create the database with the wrong version, viz. 10.6.

The fix would be to use Derby's JDBC3 data source for Derby versions before 10.2.2.0.

> Make UpgradeTrajectoryTest run on JVM 1.6
> -----------------------------------------
>
>                 Key: DERBY-4359
>                 URL: https://issues.apache.org/jira/browse/DERBY-4359
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Test
>    Affects Versions: 10.6.0.0
>         Environment: JVM: 
> Sun Microsystems Inc.
> java version "1.6.0_14"
> Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
> Java HotSpot(TM) 64-Bit Server VM (build 14.0-b16 mixed mode 64-bit)
>            Reporter: Ole Solberg
>
> When running the UpgradeTrajectoryTest on JVM 1.6 I see the following failures:
> 10.0.2.1
> 10.1.3.1
> 10.2.2.1
> 10.3.3.0
> 10.4.2.0
> 10.4.2.1
> 10.5.1.1
> 10.5.3.0
> DEBUG: Found 7 trajectories.
> .
> testTrajectory DEBUG: Testing trajectory: 10.0.2.1 -> 10.1.3.1 -> 10.2.2.1 -> 10.3.3.0 -> 10.4.2.0 -> 10.4.2.1 -> 10.5.1.1 -> 10.5.3.0 ( hard, hard, hard, hard, hard, hard, hard, hard )
> used 1900 ms F.
> testTrajectory DEBUG: Testing trajectory: 10.1.3.1 -> 10.2.2.1 -> 10.3.3.0 -> 10.4.2.0 -> 10.4.2.1 -> 10.5.1.1 -> 10.5.3.0 ( hard, hard, hard, hard, hard, hard, hard )
> used 570 ms F.
> testTrajectory DEBUG: Testing trajectory: 10.2.2.1 -> 10.3.3.0 -> 10.4.2.0 -> 10.4.2.1 -> 10.5.1.1 -> 10.5.3.0 ( hard, hard, hard, hard, hard, hard )
> used 9008 ms .
> 1) testTrajectory(org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest)junit.framework.ComparisonFailure: 10.0.2.1 -> 10.1.3.1 -> 10.2.2.1 -> 10.3.3.0 -> 10.4.2.0 -> 10.4.2.1 -> 10.5.1.1 -> 10.5.3.0 ( hard, hard, hard, hard, hard, hard, hard, hard ) expected:<10.[0.2.1]> but was:<10.[6.0.0]>
> 	at org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest.vetDBVersion(UpgradeTrajectoryTest.java:904)
> 	at org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest.createDatabase(UpgradeTrajectoryTest.java:800)
> 	at org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest.testTrajectory(UpgradeTrajectoryTest.java:468)
> 2) testTrajectory(org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest)junit.framework.ComparisonFailure: 10.1.3.1 -> 10.2.2.1 -> 10.3.3.0 -> 10.4.2.0 -> 10.4.2.1 -> 10.5.1.1 -> 10.5.3.0 ( hard, hard, hard, hard, hard, hard, hard ) expected:<10.[1.3.1]> but was:<10.[6.0.0]>
> 	at org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest.vetDBVersion(UpgradeTrajectoryTest.java:904)
> 	at org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest.createDatabase(UpgradeTrajectoryTest.java:800)
> 	at org.apache.derbyTesting.functionTests.tests.upgradeTests.UpgradeTrajectoryTest.testTrajectory(UpgradeTrajectoryTest.java:468)
> Running with JVM 1.5 the test passes.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.