Evaluate Java 7 (JDK) compatibility

Description

Evaluate Java 7 (JDK) compatibility

Environment

None

Test Plan

None

Activity

Show:

Jon Gorrono March 8, 2013 at 6:34 PM

no regressions noted with basic function testing... resolving.... we'll have more at it when we release the tag to rSmart... if anything surfaces, we'll have to have a 1.9.1

Jon Gorrono March 4, 2013 at 9:30 PM

This may not happen with coursemanagement data. Sorry, we'll have to configure users by hand.

We'll have another chance when we get a 2.9.x era tag from rSmart

Jon Gorrono February 26, 2013 at 11:14 PM

for mostly local (UCD) consumption

working on sonic

  • downloaded a snapshot of foundation 2.9.x

  • changed the tomcat version to the latest stable release of 7

  • updated the config to include the legacy shared and shared lib search paths

  • added gradebook 1.8.x (and to parent pom modules)

  • built, deployed
    no errors

  • test startup with OOTB properties
    no errors

  • test startup wtih our standard set of props
    no startup errors in gb2 but tables are all missing as we are currently have issues with the database (gadget) ... production imports are not present, we are waiting in sysadmins to finalize shared file systems issues

we need to look for regressions with pertinent data in place so we will have to wait for gadget to be restored.

Jon Gorrono January 31, 2013 at 3:48 PM
Edited

  • One Java 7 issue has been reported and fixed ( )

  • GB2 compiles without errors in 2.8, 2.9 and current 2.10 cle code

  • cle 2.8 does not compile in java 7 but can be deployed in java 7 after compiling in java 6 [1] [2]

  • cle 2.9+ compiles and runs in java 7

[1] There has been no evidence that anyone in Sakai Foundation has verified that all Comparator contracts are satisfactory to the new more stringent java 7 standard. It is probably not practical to try to track this down in static code. The 'contract' is that if a.equals(b) then a.compare(b) should return 0 and otherwise return +1 or -1. Voilated contracts can only be detected on a per-call basis. So, the only practical strategy for migrating to java 7 WRT this different behavior is to either
A. set the java.util.Arrays.useLegacyMergeSort=true in the jvm to use legacy behaviour in java 7, or
B. watch for IllegalArgumentExceptions and set the property in A if found, until a fix can be added.
( https://jira.sakaiproject.org/browse/SAK-20908 )

[2] some changes are required to make sakai 2.8.x startup under java 7 ( https://jira.sakaiproject.org/browse/SAK-22210 )

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created August 3, 2012 at 10:53 AM
Updated March 8, 2013 at 6:34 PM
Resolved March 8, 2013 at 6:34 PM