-
Notifications
You must be signed in to change notification settings - Fork 148
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
Outstanding failures in cditck-porting tests with glassfish 6 web profile. #23184
Comments
@starksm64 - Most of failure above are related to removal of "jakarta/xml/ws/WebServiceRef" package or webservices jars from glassfish 6 web-profile bundle. |
@smillidge @starksm64 @alwin-joseph @gurunrao @alwin-joseph I noticed that we aren't actually collecting the GlassFish logs in https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/82/artifact/cdi-tck-results.tar.gz IMO we should archive the GlassFish logs for https://ci.eclipse.org/jakartaee-tck/job/cditck-porting job so the exact cause of FYI a related failure was addressed by @gurunrao via jakartaee/platform-tck#480. |
https://github.com/eclipse-ee4j/cditck-porting/blob/master/Jenkinsfile#L99 needs to be updated to collect the GlassFish logs. An example of archiving all logs is https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/Jenkinsfile#L222, I'll create a pull request that is similar. |
👍 Will try https://download.eclipse.org/ee4j/cdi/3.0/cdi-tck-3.0.1-dist.zip Also created eclipse-ee4j/cditck-porting#22 :-) |
My pr didn't correctly reference the GlassFish server.log folder but now see the output now from Guru's job output that contains @smillidge does the GlassFish Web Profile have a dependency on org.glassfish.metro:webservices-api-osgi? More complete exception call stack:
|
@lukasj - Any suggestion on above stack-trace with "java.lang.ClassNotFoundException: jakarta.xml.ws.WebServiceRef". |
given that xml ws is not required part of web profile (not in EE 8, nor in EE 9), the failure is expected. The solution can be either to explicitly add XML Web Services to the Web Profile OR remove these tests from the TCK. The latter looks to be easier to do, while the former might be more correct, based on the fact that XML Web Services used to be supported by the JDK 8. |
Note that webservices jars were removed from web profile in Java EE 8 (at the latest, long before the move to EF) if they have ever been part of it and required functionality used to be taken from Java SE. |
hmm tricky this could be because the jars already existed in the JDK previously. I will take a longer look at the weld integration code to see if this can be isolated. However from the comment by @starksm64 it maybe that this is now a requirement in the Web Profile? Maybe one for the platform mailing list? |
looking at the spec more closely, there is currently following sentence:
and |
I think this needs to go to the Platform project for a decision not something we can decide on the GlassFish project. |
@smillidge I agree with you |
The Table 2. Jakarta EE Technologies shows:
What does the above (Web Profile spec) link that @lukasj mentioned mean in contrast to the Platform SPEC Table 2? Do they mean the same? Why does the linked Web Profile spec text still require running on JDK 11? IMO, likely needs an update:
@smillidge In case it helps, here are a few more details to show some of the differences I see between Web Profile + Full Platform related pom.xml in GlassFish:
If https://jakarta.ee/specifications/xml-web-services/3.0/apidocs/jakarta.xml.ws/jakarta/xml/ws/WebServiceRef.html is optional for Full Platform + Web Profile both references #1 + #2 have optional=true? I don't know the OSGi internal rules that might be triggered in response to having optional=true but shouldn't the (Web Profile) jakarta.xml.ws.WebServiceRef class be found (or loaded on first reference) when it is referenced? |
I haven't had time to analyse the packaging in detail yet. It's probably that one excludes the jar from the packaging when building the web profile distribution i.e. it is not shipped. |
The GlassFish weld integration jar has it as an optional OSGI import. So it's likely that the weld integration jar is referencing it directly in the code and this hasn't been a problem before but I need to analyse more. |
tbh it is likely possible to handle the CNFE here Line 182 in 6f0eed0
|
I also noticed https://github.com/weld/core/blob/master/jboss-tck-runner/pom.xml#L561 which is also interesting (not sure if it has any influence on what is going on in the Web Profile test failures):
|
@scottmarlow for |
It is just an artifact of the global javax to jakarta namespace changes.
The profile will be removed once we move beyond Java 8.
…On Tue, Sep 1, 2020 at 10:46 AM Lukas Jungmann ***@***.***> wrote:
@scottmarlow <https://github.com/scottmarlow> for ${jax.api.version} >=
3.x, the profile makes no sense, since ${jax.api.version} has jakarta.
packages and is not present in JDK < 9, so there is no conflict with the
content of the JDK. A consequence is that jakarta packages from this jar
are not available for tests on JDK 8. But there can be some reason why it
is done this way and I just don't see it
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23184 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACRDMTVXCPNBJTXEZJM3TLSDUJMFANCNFSM4QDS7UUQ>
.
|
Are the tests that fail due to jakarta/xml/ws/WebServiceRef class reference needed for testing only WebServiceRef? Or are the below tests useful for testing non-WebServiceRef aspects? TCK test sources are in https://github.com/eclipse-ee4j/cdi-tck List of failing tests:
CC @dblevins |
I see jakarta.xml.ws.WebServiceRef (e.g. @WebServiceRef(name = "service/HelloService")) I also don't see any jakarta.xml.ws.Service in https://github.com/eclipse-ee4j/cdi-tck. |
The classes used in the CDI TCK are jakarta.jws.* (e.g.,
jakarta.jws.WebService). Any arquillianBeforeClass failure is due to a
deployment failure that does not even start the tests.
…On Wed, Sep 2, 2020 at 12:16 PM Scott Marlow ***@***.***> wrote:
I see jakarta.xml.ws.WebServiceRef (e.g. @WebServiceRef(name =
"service/HelloService"))
used in the Platform TCK test sources but not
https://github.com/eclipse-ee4j/cdi-tck.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23184 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACRDMSY4JUDIEXYIGFUI73SDZ4YTANCNFSM4QDS7UUQ>
.
|
One underlying question is if the 47 failing CDI tests were excluded (or made optional if that is possible) would we lose much more than WebService testing? I'm not sure if the failing 47 tests are actually using WebServices. |
I didn't check all of listed 47 tests but org.jboss.cdi.tck.tests.implementation.simple.ee.components/JavaEEComponentsTest did deploy/pass with our Full Platform standalone TCK testing. |
Even the JavaEEComponentsTest does not use webservice apis of any kind; It
only references the servlet apis. Iit would seem that the web platform
integration in GF is just introducing a bad dependency that is failing the
deployments.
…On Wed, Sep 2, 2020 at 1:38 PM Scott Marlow ***@***.***> wrote:
I didn't check all of listed 47 tests but
org.jboss.cdi.tck.tests.implementation.simple.ee.components/JavaEEComponentsTest
did deploy/pass with our Full Platform standalone TCK testing](
https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/80/testReport/org.jboss.cdi.tck.tests.implementation.simple.ee.components/JavaEEComponentsTest
).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#23184 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACRDMVI2UDPNPUGK7DTNVLSD2GK5ANCNFSM4QDS7UUQ>
.
|
Perhaps https://github.com/eclipse-ee4j/glassfish/blob/master/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/WsInjectionHandlerImpl.java#L28 is being invoked for more than just webservice apis. It looks like https://github.com/eclipse-ee4j/glassfish/blob/master/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/InjectionServicesImpl.java does call ^ for non-webservices apis. |
@smillidge That is where we ended up from #23063 The basic question is whether SOAP is mandatory feature of web-profile. If it is optional then tests should be allowed to fail, I think. |
... but if I take it as it used to be supported in web-profile through JDK, then probably metro needs to be moved to the web-profile since the base is JDK8 now (thinking loud) |
@lukasj You have a better memory than me :-) |
The org.jboss.cdi.tck.tests.implementation.simple.ee.components.JavaEEComponentsTest test fails but doesn't reference SOAP. The only jakarta.jws.* references are from https://github.com/eclipse-ee4j/cdi-tck/blob/master/impl/src/main/java/org/jboss/cdi/tck/tests/lookup/injection/non/contextual/Translator.java + https://github.com/eclipse-ee4j/cdi-tck/blob/master/impl/src/main/java/org/jboss/cdi/tck/tests/lookup/injection/non/contextual/TranslatorEndpoint.java. IMO, it would be good to fix the org.jboss.cdi.tck.tests.implementation.simple.ee.components.JavaEEComponentsTest failure so we have a clearer idea of how many tests are failing due to actual SOAP use. |
@scottmarlow for the record by SOAP in this particular context I'm referring to SOAP web services stack consisting of Jakarta SOAP with Attachments (jakarta.xml.soap.*), Jakarta XML Web Services Metadata (jakarta.jws.*), Jakarta XML Web Services (jakarta.xml.ws.*) and eventually also Jakarta Enterprise Web Services. It might make sense to treat Jakarta SOAP with Attachments separately as a standalone part but for the rest (which depends on Jakarta SOAP with Attachments) it should be either all or nothing. |
I see zero I don't see any tests referencing |
@smillidge @lukasj I started a discussion thread on https://www.eclipse.org/lists/jakartaee-tck-dev/msg00950.html regarding the jakarta.jws.WebService references in the CDI TCK, since Web Services are optional for Jakarta EE 9. IMO, I think that #23184 should still fix the annotation scanning code failure referencing jakarta.xml.ws.WebServiceRef. |
@scottmarlow how do I reproduce the annotation scanning code failure? My understanding from https://github.com/eclipse-ee4j/jakartaee-tck/wiki/Jakarta-EE-9-TCK-results is that the Web Profile is passing the Web Profile platform TCK so the failure is not wide ranging. |
@smillidge from looking at following https://github.com/eclipse-ee4j/glassfish/blob/master/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/InjectionServicesImpl.java#L181 code, it looks like we need a test that has Produces something that is not { EJB, Resource, PersistenceUnit, PersistenceContext} to reach the getWsHandler().handles() call that I think will produce the error:
|
@smillidge as per jakartaee/cdi-tck#215 (comment), there are no JWS tests being run by the CDI TCK. Scott produced https://download.eclipse.org/ee4j/cdi/3.0/cdi-tck-3.0.2-dist.zip for us to try, I mentioned on cdi-tck/issues/215 that we are now doing that:
|
Both passed :-) |
Sorry @smillidge , that was a typo that I later corrected. https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/87 is still failing. |
failures with latest run are 11 - https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/89/testReport/ Failures are due to "http://xmlns.jcp.org/xml/ns/javaee" in CDI tck. Glassfish logs can be found at - https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/lastSuccessfulBuild/artifact/cdi-tck-results.tar.gz Exception stacktrack looks like below:[2020-09-13T16:07:32.225+0000] [glassfish 6.0] [SEVERE] [NCLS-CORE-00026] [jakarta.enterprise.system.core] [tid: _ThreadID=49 _ThreadName=admin-listener(5)] [timeMillis: 1600013252225] [levelValue: 1000] [[
|
@gurunrao does this need any action on the GlassFish side? |
@smillidge it looks like the GlassFish 6.0 Full Platform (latest nightly build) also fails the same tests. So, I think it is a GlassFish regression. I ran the cditck-porting tests once more with GlassFish (Full Platform) build glassfish-6.0.0-SNAPSHOT-2020-09-06.zip and they passed (CDI test results are here). |
IMO, the GlassFish Full Platform cditck-porting test failures need a new issue, so created #23205 which should be actionable on the GlassFish side. |
I'm not aware of any changes in that area. Has there been an updated schema in the test suite or api as I added the schemas to GlassFish for the RC1 release back for the first release? |
closing the issue as there is one more issue for same root cause - #23205 |
cditck-porting tests fail with glassfish 6 web profile.
Environment Details
Test results can be found here - https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/82/testReport/
Run Log and glassfish logs can be downloaded from here - https://ci.eclipse.org/jakartaee-tck/job/cditck-porting/job/master/82/artifact/cdi-tck-results.tar.gz
Run logs can be viewed here - https://ci.eclipse.org/jakartaee-tck/blue/rest/organizations/jenkins/pipelines/cditck-porting/branches/master/runs/82/nodes/27/steps/30/log/?start=0
The text was updated successfully, but these errors were encountered: