[ 
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.

Reply via email to