-
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
Concurrency TCK failures with latest glassfish nightly build #24059
Comments
With commit 71a6150 it passed locally. Can you rerun the test? I am looking at the AfterTypeDiscoveryMassOperationsTest now ...
|
Seems the build fetches an old CDI TCK: Those errors were fixed in CDI TCK 4.0.7, which was released after the PR stated by @dmatej. |
Thanks @erdlet, @dmatej. |
@erdlet @scottmarlow - should the above CDI TCK test update be sent to Specification Committee for approval, since this is an change in behavior of the tests? |
I'm no expert in CDI TCK, so as far as I understood was this change only to improve the test assumption, not the expected result. |
It seems to me that the test was just stabilized to allow to use also other extensions while previous expected just three which was wrong assumption. It is ok now. |
Some Concurrency TCK problems with ManagedExecutorDefinitionWebTests were mentioned started in comment jakartaee/concurrency#260 (review) that seem to continue up to comment jakartaee/concurrency#260 (comment) |
Does anyone know why GlassFish is failing the Concurrency test on Web Profile yet? |
Should GlassFish use https://repo1.maven.org/maven2/jakarta/enterprise/concurrent/jakarta.enterprise.concurrent-api/3.0.1/jakarta.enterprise.concurrent-api-3.0.1.jar or https://repo1.maven.org/maven2/jakarta/enterprise/concurrent/jakarta.enterprise.concurrent-api/3.0.0/jakarta.enterprise.concurrent-api-3.0.0.jar in its Web Profile testing? We don't think it would make a difference but asking just the same. |
A new test was added that for some reason fails. It fails on both the full profile and the web profile. |
According to https://github.com/eclipse-ee4j/jakartaee-tck/wiki/Jakarta-EE-10.0-TCK-results, the Concurrency TCK test only fails on Web Profile but not Full Platform mode. So, the only thing that we know is the We are also testing against the Staged Concurrency TCK https://download.eclipse.org/ee4j/cu/jakartaee10/staged/eftl/concurrency-tck-3.0.2.zip last built on Once thing that we haven't done is create a Concurrency TCK issue (or challenge if we learn of something to challenge). Any volunteers to create a https://github.com/jakartaee/concurrency/issues for this failure? Beyond the test name, I think we also need to include the test output, some of which I pasted into https://gist.github.com/scottmarlow/045911483dfca81173ce82afcf04a362 (including some of tests before and after in case that is relevant). I think that there has been discussions with the Concurrency team but I would like a tracking Concurrency issue so we can get more direct feedback on what the test failure means happened exactly. It would be helpful to have an explanation of what the test code at https://github.com/jakartaee/concurrency/blob/master/tck/src/main/java/ee/jakarta/tck/concurrent/spec/ManagedExecutorService/resourcedef/ManagedExecutorDefinitionOnEJBServlet.java#L144 is validating exactly which might be a clue as to what needs to change (in the test or GlassFish). |
A problem of the same test class is discussed below and suggested to be fixed. Isn't this a related problem? |
@hs536 good question, do you know if the jakartaee/concurrency#264 fix would help GlassFish pass the Concurrency TCK on Web Profile? |
@arjantijms Can you validate the latest Concurrency TCK with jakartaee/concurrency#264 ? |
The current CCRs are already out of date, so this can be merged:
|
I started the Platform TCK build via https://ci.eclipse.org/jakartaee-tck/job/10/job/eftl-jakartaeetck-build-100/82/ for jakartaee-tck/pull/1109 |
GlassFish 7 Web Profile still fails with the updated staged https://download.eclipse.org/ee4j/cu/jakartaee10/staged/eftl/concurrency-tck-3.0.2.zip FYI, the ^ test run was done with https://download.eclipse.org/ee4j/cu/jakartaee10/staged/eftl/concurrency-tck-3.0.2.zip that has sha256sum Contents of concurrency-tck-3.0.2.info:
|
https://ci.eclipse.org/jakartaee-tck/job/10/job/jakarta-concurrency-tck-glassfish-run/102/artifact/glassfish-runner/concurrency-tck/target/glassfish7/glassfish/domains/domain1/logs/server.log contains an interesting warning on a related test:
Could the ^ warning leave GlassFish in a bad state? Also @jamezp noticed the following warning which would be good to understand better:
|
My gut tells me the failure has something to do with that error log. The |
Hmm, I'll try to grep for the error. |
GlassFish class appserver/extras/embedded/all/target/classes/org/glassfish/concurrent/runtime/ContextSetupProviderImpl.class seems to contain the |
@arjan - A challenge for test based on glassfish logs is needed? or fix at glassfish is the final solution? |
The question is what update ... there is also some commented out code ... |
I ran the TCK locally and here are my findings:
The test also fails when I only execute the test method Therefore GlassFish is "polluted" by the test |
So, GlassFish could pass all of the tests if |
I think that the Full Platform mode simply excludes that test. If you alter the test file to not exclude anything for Full Platform mode, when running against GlassFish full platform, all the new web profile test also run against the full profile glassfish. This includes the failing web profile test, and it fails on glassfish full profile too. If you normally run the full profile TCK against full profile glassfish it excludes the web profile tests, and then it passes. So that indicates that very specific test fails on both GlassFish web profile, and GlassFish full profile, even though the web profile and full profile TCK runs don't show that. |
As per jakartaee/platform-tck#1111 (comment), this is now solved via the jakartaee/platform-tck#1111 change. In summary, the workaround is done following what was observed in comment #24059 (comment) above. We exclude the failing |
Is this mentioned in the Concurrency TCK doc requirements? I'm not against running both profiles for Full Platform. |
Although it's possible to pass the TCK if the failing test is executed in a separate test run, it seems there's some profound error in GlassFish. The test fails only if executed after the I still need to investigate why the second run always fails (whether it's in servlet context or EJB context seems to not matter) but we should really fix it in GlassFish. However, this issue probably shouldn't block a CCR because GF can pass the Web TCK without breaking any rules. |
After some investigation and debugging, I see several issues in GF:
|
@OndroMih - Are you planning PR for the issues, mentioned? |
I'm sorry, I don't have a complete fix yet and I'm going on holiday next week. So I won't fix it before 28th August. |
This shouldn't block raising a CCR for Web Profile. At the platform call I believe there was an agreement that it's OK if TCK tests are passed individually and not in a single run, and GF 7-M7 passes the TCK when the failing test is executed separately. I hope that the GF/TCK team raises a CCR for Web Profile soon. |
Because I believe it's important to fix this to make the feature of context propagation usable in production, I've raised a follow-up issue #24101. |
Tests are failing now as expected, need to fix the issue. Signed-off-by:Ondro Mihalyi <mihalyi@omnifish.ee>
Following Concurrency TCK failures with latest Glassfish 7 nightly Web Profile build:
CI run - https://ci.eclipse.org/jakartaee-tck/job/10/job/jakarta-concurrency-tck-glassfish-run/95/
The text was updated successfully, but these errors were encountered: