logstash-plugins / logstash-integration-jdbc

Logstash Integration Plugin for JDBC, including Logstash Input and Filter Plugins
Apache License 2.0
53 stars 54 forks source link

Update derby to 10.17.1.0+ #147

Closed roaksoax closed 7 months ago

roaksoax commented 11 months ago

We need to update Derby to at least version 10.17.1.0 to be able to take advantage of the latest fixes.

andsel commented 11 months ago

Apache Derby 10.17 requires JDK 21 but LS 8.x bundles JDK 17 so including that jar we get errors like:

ci-logstash-1    | java.lang.UnsupportedClassVersionError: org/apache/derby/iapi/jdbc/JDBCBoot has been compiled by a more recent version of the Java Runtime (class file version 63.0), this version of the Java Runtime only recognizes class file versions up to 61.0
ci-logstash-1    |  at org.apache.derby.jdbc.EmbeddedDriver.boot(Unknown Source)
ci-logstash-1    |  at org.apache.derby.jdbc.EmbeddedDriver.<init>(Unknown Source)
ci-logstash-1    |  at jdk.internal.reflect.GeneratedConstructorAccessor32.newInstance(Unknown Source)
ci-logstash-1    |  at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
ci-logstash-1    |  at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
ci-logstash-1    |  at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)

running locally with .ci/docker-setup.sh && .ci/dockjer-run.sh but also on the CI: https://app.travis-ci.com/github/logstash-plugins/logstash-integration-jdbc/jobs/614866138#L1472

andsel commented 7 months ago

This was resolved by #155 (and subsequent fixes, #158 and #160) which bundles a self build Derby 10.16 which is doesn't require JDK 21, but just JDK 17.