-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TransformerFactory not "used" with GraalVM for JDK 21 (23.1) #35780
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add a comment as to why we are looking for the new class.
fac91c3
to
1579d17
Compare
Done |
// And finally verify we included "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl" which is | ||
// the fallback implementation class name used in javax.xml.transform.TransformerFactory.newInstance() | ||
// whose invocation gets triggered when io.quarkus.jdbc.postgresql.runtime.graal.SQLXLMFeature is enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion:
... triggered when io.quarkus.jdbc.postgresql.runtime.graal.SQLXLMFeature is enabled.
We cannot use class javax.xml.transform.TransformerFactory directly since delegation to
the implementation might get inlined, thus resulting in 'javax.xml.transform.TransformerFactory'
not showing up as a used class in the reports (due to '-H:+InlineBeforeAnalysis').
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Amended.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Add a period (.
) after SQLXMLFeature is enabled
. I.e. ... SQLXMLFeature is enabled.
c2950e1
to
22de657
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine to me. Question: Is the actual working of the XML stuff of the driver actually asserted in the test?
// And finally verify we included "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl" which is | ||
// the fallback implementation class name used in javax.xml.transform.TransformerFactory.newInstance() | ||
// whose invocation gets triggered when io.quarkus.jdbc.postgresql.runtime.graal.SQLXLMFeature is enabled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Add a period (.
) after SQLXMLFeature is enabled
. I.e. ... SQLXMLFeature is enabled.
To my understanding yes, in https://github.com/quarkusio/quarkus/blob/main/integration-tests/jpa-postgresql-withxml/src/test/java/io/quarkus/it/jpa/postgresql/JPAFunctionalityTest.java |
javax.xml.transform.TransformerFactory does not appear as used in GraalVM for JDK 21's reports due to inlining. Closes quarkusio#35676
22de657
to
5d5f6e8
Compare
Great, thanks! |
✔️ The latest workflow run for the pull request has completed successfully. It should be safe to merge provided you have a look at the other checks in the summary. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, though I'd remove the now unnecessary (and confusing) .assertContainsNot(javax.xml.transform.TransformerFactory.class)
.
Thanks!
...jpa-postgresql/src/test/java/io/quarkus/it/jpa/postgresql/JPAFunctionalityInGraalITCase.java
Show resolved
Hide resolved
Merged, thanks! |
javax.xml.transform.TransformerFactory does not appear as used in
GraalVM for JDK 21's reports due to inlining.
Closes #35676