Details

      Description

      Change to a Java 7 requirement.

      TODOs:


      - CI needs to be migrated to Java 7.

      Timeline:


      - Post 1.3.0 release?

        Activity

        Hide
        bryanthompson bryanthompson added a comment -

        I just got nailed by the Java 1.6 issue. This is now blocking CI in the RDR branch. Any test which touches Jetty now fails.

        java.lang.UnsupportedClassVersionError: org/eclipse/jetty/util/resource/Resource : Unsupported major.minor version 51.0
        	at java.lang.ClassLoader.defineClass1(Native Method)
        	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        	at com.bigdata.rdf.sail.webapp.NanoSparqlServer.newInstance(NanoSparqlServer.java:664)
        	at com.bigdata.rdf.sail.webapp.NanoSparqlServer.newInstance(NanoSparqlServer.java:483)
        	at com.bigdata.rdf.sail.webapp.NanoSparqlServer.newInstance(NanoSparqlServer.java:441)
        	at com.bigdata.gom.RemoteGOMTestCase.setUp(RemoteGOMTestCase.java:182)
        	at com.bigdata.gom.RemoteGOMTestCase.proxySetup(RemoteGOMTestCase.java:333)
        	at com.bigdata.gom.ProxyGOMTest.setUp(ProxyGOMTest.java:49)
        
        Show
        bryanthompson bryanthompson added a comment - I just got nailed by the Java 1.6 issue. This is now blocking CI in the RDR branch. Any test which touches Jetty now fails. java.lang.UnsupportedClassVersionError: org/eclipse/jetty/util/resource/Resource : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at java.lang.ClassLoader.defineClass(ClassLoader.java:615) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) at com.bigdata.rdf.sail.webapp.NanoSparqlServer.newInstance(NanoSparqlServer.java:664) at com.bigdata.rdf.sail.webapp.NanoSparqlServer.newInstance(NanoSparqlServer.java:483) at com.bigdata.rdf.sail.webapp.NanoSparqlServer.newInstance(NanoSparqlServer.java:441) at com.bigdata.gom.RemoteGOMTestCase.setUp(RemoteGOMTestCase.java:182) at com.bigdata.gom.RemoteGOMTestCase.proxySetup(RemoteGOMTestCase.java:333) at com.bigdata.gom.ProxyGOMTest.setUp(ProxyGOMTest.java:49)
        Hide
        bryanthompson bryanthompson added a comment -

        The attempt to go to Java 7 (by changing the target java version in build.properties) causes a failure in the junit XSLT:

        Attempt to go to Java 1.7 causes:
        
        [junitreport] Processing <http://192.168.1.10:8080/job/MGC_1_3_0/ws/MGC_1_3_0/ant-build/classes/test/test-results/TESTS-TestSuites.xml> to /tmp/null1010112229
        [junitreport] Loading stylesheet jar:file:/usr/java/apache-ant-1.8.2/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl
        [junitreport] : Error! The first argument to the non-static Java function 'replace' is not a valid object reference.
        [junitreport] : Error! Could not compile stylesheet
        [junitreport] : Fatal Error! Could not compile stylesheet Cause: Cannot convert data-type 'void' to 'reference'.
        [junitreport] Failed to process <http://192.168.1.10:8080/job/MGC_1_3_0/ws/MGC_1_3_0/ant-build/classes/test/test-results/TESTS-TestSuites.xml>
        

        There are a lot of comments online about this problem. See


        - http://stackoverflow.com/questions/10607151/error-the-first-argument-to-the-non-static-java-function-replace-is-not-a-val
        - https://bugs.eclipse.org/bugs/show_bug.cgi?id=384757
        - https://bugs.eclipse.org/bugs/show_bug.cgi?id=390494
        - http://stackoverflow.com/questions/10760798/securitymanager-and-xslt-extensions-in-java7-update4-broken

        There appear to be two ways to fix this as documented at [1]

        Add the specific transformer to the System properties:

        -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
        

        Or {{{
        Create the "endorsed" directory in "...\jre\lib\endorsed" and copy the Xalan 2.7 files into it.
        }}}

        [1] http://rakeshdiscovery.blogspot.de/2008/12/xalan-java-xsltc.html

        Show
        bryanthompson bryanthompson added a comment - The attempt to go to Java 7 (by changing the target java version in build.properties) causes a failure in the junit XSLT: Attempt to go to Java 1.7 causes: [junitreport] Processing <http://192.168.1.10:8080/job/MGC_1_3_0/ws/MGC_1_3_0/ant-build/classes/test/test-results/TESTS-TestSuites.xml> to /tmp/null1010112229 [junitreport] Loading stylesheet jar:file:/usr/java/apache-ant-1.8.2/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl [junitreport] : Error! The first argument to the non-static Java function 'replace' is not a valid object reference. [junitreport] : Error! Could not compile stylesheet [junitreport] : Fatal Error! Could not compile stylesheet Cause: Cannot convert data-type 'void' to 'reference'. [junitreport] Failed to process <http://192.168.1.10:8080/job/MGC_1_3_0/ws/MGC_1_3_0/ant-build/classes/test/test-results/TESTS-TestSuites.xml> There are a lot of comments online about this problem. See - http://stackoverflow.com/questions/10607151/error-the-first-argument-to-the-non-static-java-function-replace-is-not-a-val - https://bugs.eclipse.org/bugs/show_bug.cgi?id=384757 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=390494 - http://stackoverflow.com/questions/10760798/securitymanager-and-xslt-extensions-in-java7-update4-broken There appear to be two ways to fix this as documented at [1] Add the specific transformer to the System properties: -Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl Or {{{ Create the "endorsed" directory in "...\jre\lib\endorsed" and copy the Xalan 2.7 files into it. }}} [1] http://rakeshdiscovery.blogspot.de/2008/12/xalan-java-xsltc.html
        Hide
        bryanthompson bryanthompson added a comment -

        bumping the RDR branch to java 7 to see if it builds and gets through CI. It builds locally and I am unable to replicate the CI failures locally.

        Committed revision r7962.

        Show
        bryanthompson bryanthompson added a comment - bumping the RDR branch to java 7 to see if it builds and gets through CI. It builds locally and I am unable to replicate the CI failures locally. Committed revision r7962.
        Hide
        bryanthompson bryanthompson added a comment -

        I got a decent build out of CI. There is one test that is complaining that UTF-8 is an unknown encoding, but this could be the general flakiness of the EC2 instance.

        Show
        bryanthompson bryanthompson added a comment - I got a decent build out of CI. There is one test that is complaining that UTF-8 is an unknown encoding, but this could be the general flakiness of the EC2 instance.
        Hide
        bryanthompson bryanthompson added a comment -

        There are two weird errors that are cropping up in CI. One is the UTF-8 error mentioned above. The other is an error in TestDirectBuffers. I am going to keep an eye on these problems, which may be JVM specific or related to the recent updates on the EC2 server for ci.bigdata.com.

        I do not see the problems in the main branch build, so this is probably related to Java 7. The question is whether it is the Java 7 source/target for the compiler or something else. Note that we are using Java 6 for the main branch build, so it could easily be a Java 7 specific thing.

        Show
        bryanthompson bryanthompson added a comment - There are two weird errors that are cropping up in CI. One is the UTF-8 error mentioned above. The other is an error in TestDirectBuffers. I am going to keep an eye on these problems, which may be JVM specific or related to the recent updates on the EC2 server for ci.bigdata.com. I do not see the problems in the main branch build, so this is probably related to Java 7. The question is whether it is the Java 7 source/target for the compiler or something else. Note that we are using Java 6 for the main branch build, so it could easily be a Java 7 specific thing.

          People

          • Assignee:
            bryanthompson bryanthompson
            Reporter:
            bryanthompson bryanthompson
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: