FISH-10049 FISH-10286 FISH-10615 Restores EAR fixes and WARlib performance enhancements#7314
Conversation
|
@Pandrex247 can you please run the full TCK on this branch? It'll probably supersede #7212 because the other PR is become stale. |
|
Argh. Test are failing b/c eclipse foundation servers are down including MP repositories. See https://www.eclipsestatus.io |
|
@Pandrex247 Can you please run the full TCK on this branch (even if you ran it before) as I committed some more changes here. |
|
@Pandrex247 Please run all TCKs on this branch. This should fix the Web Profile TCK |
02abbb7 to
5d35133
Compare
|
Just FYI- I am mucking with the commit messages via force-push, the code remains the same |
5d35133 to
0df8c90
Compare
0df8c90 to
af476ab
Compare
|
The Platform TCK is still running, but the Web Profile TCK has passed 🥳 |
|
Any updates? :) :) |
af476ab to
67c503c
Compare
|
if everything succeeded, can you please kick off full TCK again just to make sure I haven't messed anything up? |
|
It passed 🥳 |
53bd2fc to
e87d165
Compare
|
Last changes just remove unused code from the PR. No need to run the TCK. Ready to merge. |
…I-enabled library JARs (payara#7032) - correctly copy BDA sets for each war in EAR - Make WAR's CDI beans available in EAR-libs - read web-fragment.xml from EAR-libs - processing ear-lib manifest - de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList - made some structures final (cleanup) - fixed ear and concurrent classloader leaks, including refactored reflection caching enh: loading JARs from <domain_dir>/lib/warlibs if --properies warlibs=true is specified (payara#7097) bugfix: EAR deployment bugs found (payara#7212) - fixed current deployment context - made it a regular thread local, not queue - actually destroy deployment ClassLoader shareableTemp correctly - added fish.payara.ear-combined-cdi-deployment property to force combined EAR CDI deployment - Jax-JS Json-B injection retrives the correct BeanManager based on the actual type of the injection point desired
bf19335 to
5463633
Compare
|
@lprimak Is this new PR still compatible with the one I last checked with our real-world EAR? If not, looking at the horrible history of the last PR, we might should wait with the merge for another test drive? 🤔 |
|
No worries. This PR is a rebase to main plus some unused code cleanup and review suggestions. It contains all our fixes and was tested against all our reproducers. |
|
Thank you, Lenny! Ok, in this case I see no need for more pre-release checks and will test just the final CE 6.2022.5. 😅 |
|
@Pandrex247 Will this PR be contained in Payara CE 6.2025.5? |
|
My guess is probably not |
|
Don't forget about me :) |
|
Thank you |
|
@Pandrex247 Will this PR be contained in Payara CE 6.2025.5?
"Deep rewrite" sounds like it makes sense to let me run a test drive with that before publishing? |
|
@mkarg Nah it should be harmless - changing maven group IDs and build config around. |
|
@lprimak Is it just that when |
|
If My mind is currently circling around the following:
|
|
Reading through #6405 again I can see that you already mentioned including libs in applibs doesn't seem to get them scanned by CDI - so I guess my root question is: why the new folder? Why not just fix/add CDI scanning to applibs? Was it to have some sort of differentiation? |
|
Trust me, it was my first thought to "fix" applibs. However this turned out to more complicated and I didn't want to break existing functionality. The main point behind warlibs is to improve deployment times for developers, and to get instant feedback on code modifications. Here is the difference breakdown:
I am not sure where / how applibs are used but I am sure that I couldn't make it work without breaking compatibility. Regarding "resync", since warlibs feature is for development, I don't think that would apply. |
Document `warlibs` Property
|
Thanks for the extra info, I'll look into adding that to the docs in some way.
I tested the resync - it appears to work. |
Pandrex247
left a comment
There was a problem hiding this comment.
Tested the https://github.com/flowlogix/ear-sample and https://github.com/flowlogix/cdi-scanning reproducers
Also tested that the extra warlibs directory get synced to remote instances
All TCKs appear green (can't see any false positives this time)
Tested that Web Profile and Micro don't hang on startup
Thank you very much 🥳
Some follow-up things to do that can be done Later™:
- Admin console support - needs a new check box or similar on the deploy page
add-librarycommand support - add a war option and associated support for it (and update the command's help text)
|
Well, this was the biggest scope creep in "my" history. And still not done. |
|
Also time to introduced the ecosystem enhancement described here: payara/ecosystem-support#98 to make use of this |
FISH-10049 FISH-10286 FISH-10615 Restores EAR fixes and WARlib performance enhancements
Restores functionality reverted from #7032 and #7097 and applies fixes from #7212
Fixes #7201
Fixes #7214
Fixes #7215
Fixes #7233
Supersedes #7212