[
https://issues.apache.org/jira/browse/CASSANDRA-18190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17719991#comment-17719991
]
Ekaterina Dimitrova commented on CASSANDRA-18190:
-------------------------------------------------
I will be off until next Thursday but I wanted to leave an update for anyone
following here:
* I tried the other day to look into SpotBugs - I used the patch from
CASSANDRA-18077 to check for warnings on unsafe use of Autocloseable instances
with JDK11 and 17. It did not show any problems in that area. Also, I looked
again at its website/docs and it still states JDK11+ is only experimental so
far. This makes me think Spot Bugs is not a good option for us at the moment.
* ErrorProne seems not to be an option due to licenses? Check my previous
comments
* ECJ seems to be still maintained and even getting rid of JDK 11 already in
its next release, as pointed out by [~slachiewicz] earlier on this ticket. I
figured that running eclipse-warnings with the updated version of ECJ we
trigger split packages issue to be caught from ECJ. Javac does not catch this
problem because of [https://bugs.openjdk.org/browse/JDK-8215739]. With the help
of Eclipse I found that the two triggers are:
** javassist being pulled by reflections and having a package named java.util.
For this one I suspect we can upstream maybe a patch, the project seems to be
actively maintained. I tried to look into substituting the pulled library with
latest version of javassist but the same issue still persists there
**
high-scale-lib - very old not maintained library - java.util.concurrent is the
package here. For this one I suspect we need to work out to replace it
probably. But for that I would like to suggest a separate ticket.
For the split packages issue I suggest we open separate tickets and I can
silence for now the related errors from _eclipse-warnings_ by adding
_org.eclipse.jdt.core.compiler.ignoreUnnamedModuleForSplitPackage=enabled_ to
_eclipse_compiler.properties_ and we fix the two mentioned issues separately.
* Other than this issue there are three errors introduced in a recent ticket,
but exposed only when we update ECJ and run eclipse-warnings with JDK11.
(CASSANDRA-17056)
* The rest is more than 100 errors around unsafe usage of Autocloseable
instances. My plan so far is to focus on those when I am back next week.
* On another note - in JDK17 there are more warnings around deprecations. I
suggest we tackle this in time separately and we keep ourselves focused for now
on JDK11 and eclipse-warnings. Though I suggest we open earlier than later a
ticket for the additional warnings/errors coming from eclipse-warnings being
run with JDK17 so we do not have to catch up on everything when the time to
drop JDK11 comes in the future.
CC [~jlewandowski] and [~mmuzaf]
> ECJ upgrade
> -----------
>
> Key: CASSANDRA-18190
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18190
> Project: Cassandra
> Issue Type: Task
> Components: Feature/UDF
> Reporter: Ekaterina Dimitrova
> Assignee: Ekaterina Dimitrova
> Priority: Normal
> Fix For: 5.x
>
>
> During testing it was identified that we will need to update ECJ for the Java
> UDF functions in order to bring Java 17 in.
> It seems the compiler artifacts are moved from
> [here|https://mvnrepository.com/artifact/org.eclipse.jdt.core.compiler/ecj ]
> to [here|https://mvnrepository.com/artifact/org.eclipse.jdt/ecj] and there is
> change of license from EPL1.0 to EPL2.0 too. But if I read correctly
> [here|https://www.apache.org/legal/resolved.html#weak-copyleft-licenses] that
> should not affect us
> Further testing and review of all changes between artifacts to be done.
> ECJ is used for the eclipse-warnings and Java UDFs
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]