On 29/08/13 01:09, Rob Vesse wrote:
Andy

If you can commit your changes that would be great, then I can go over
them and see which if any we can implement properly.

Already done.

The part of the build that was messy explicitly is testing that
configuring logging via driver parameters works, I have modified that
portion of the tests to redirect stdout to a ByteArrayOutputStream so I
can verify that the logging output gets enabled without polluting the mvn
build output.  Some of the tests are explicit negative tests looking for
error conditions being properly propagated hence why all the logging noise
on that part of the test run.  This should however now be hidden from the
build.

The remote endpoint results tests seem to be the prime culprits for hangs,

It's always TestRemoteEndpointResults for me.

those are the tests that do the most bringing up and tearing down of
Fuseki instances with associated HTTP traffic and seems to be the ones
that most often hang on Jenkins.  They should maintain a single Fuseki
instance for each class so the problem may lie more in the volume of HTTP
traffic involved, that's why there is the Thread.sleep() in those tests
which mitigates the problem some of the time.

Could we group the tests together and have one server for the sub-suite?

Which version of Java 6 causes hangs for you?  We run 1.6.0_51 (Oracle
standard Hotspot JVM)

I was using:

java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.6) (6b27-1.12.6-1ubuntu0.13.04.2)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

I have now tried with

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

and get the same hang.

        Andy


Rob


On 8/28/13 3:34 PM, "Andy Seaborne" <[email protected]> wrote:

Rob -

I have had a go at fixing them so jena-jdbc compiles on Java7.  This is
done by adding missing operations, with no @Override, to the highest
abstract class I could find, usually JenaXYZ.java

All call SQLFeatureNotSupportedException

I've compiled with java6 and java7 compilers and runtimes, running "mvn
clean install".

I encountered problems running the tests -
with java6, the tests hang at:
org.apache.jena.jdbc.remote.results.TestRemoteEndpointResults

It completes on Java7.

Total time: Java7: 11:10.239s
Apache Jena - JDBC Parent ................[2.371s]
Apache Jena - JDBC Core API ..............[18.622s]
Apache Jena - JDBC Remote Endpoint Driver [4:32.039s]
Apache Jena - JDBC In-Memory Driver ......[11.076s]
Apache Jena - JDBC TDB Driver ............[5:52.688s]
Apache Jena - JDBC Driver Bundle .........[13.157s]


The build (mvn clean install in jena-jdbc having rebuild jena) is messy;

It's not finding a log4j setup which might be related to the output that
is Exceptions printed e.g.

22:35:01 ERROR JenaStatement        :: Invalid SPARQL update
com.hp.hpl.jena.query.QueryParseException: Encountered " "select"
"SELECT "" at line 1, column 1.
and a long trace.

There are enough of these that my terminal buffer lost the top of the
output so I don't know how many there were.

and many like:

5602 [main] ERROR org.apache.jena.jdbc.JenaDriver  - Invalid value for
post-processor parameter, references a class that did not exist
java.lang.ClassNotFoundException: NoSuchClass


5601 [main] ERROR org.apache.jena.jdbc.JenaDriver  - Invalid value for
pre-processor parameter, references a class that exists but does not
have an appropriate constructor
java.lang.InstantiationException: com.hp.hpl.jena.graph.Node

        Andy

On 26/08/13 18:21, Rob Vesse wrote:
Yeah we use JDK6 exclusively here at YarcData

The fix is either to make the change or I think we can use the compiler
plugin to restrict these modules to JDK 6 for the time being?

Rob


On 8/26/13 3:04 AM, "Andy Seaborne" <[email protected]> wrote:

I'm getting the following compile time error when building with maven.

[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
(default-compile) on project jena-jdbc-core: Compilation failure:
Compilation failure:
[ERROR]

/home/afs/Jena/jena-jdbc/jena-jdbc-core/src/main/java/org/apache/jena/jd
bc
/metadata/results/MetaResultSet.java:[51,8]
org.apache.jena.jdbc.metadata.results.MetaResultSet is not abstract and
does not override abstract method
<T>getObject(java.lang.String,java.lang.Class<T>) in java.sql.ResultSet

and then some others.

Maybe it's this:


http://stackoverflow.com/questions/7692320/is-there-really-resultset-get
ob
jectstring-classt-in-jdk7

I'm using a Java7 compiler in Java6 mode so it's the JDK7 runtime.

If so, the fix is to add, without @Override but with suppressed
warnings:

<T> T getObject(int columnIndex, Class<T> type) throws SQLException
<T> T getObject(String columnLabel,  Class<T> type) throws SQLException

        Andy




Reply via email to