-
Notifications
You must be signed in to change notification settings - Fork 305
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
FISH-10286 Enhancement: Use <domain_dir>/lib/warlibs to enable fast deployments #7097
Conversation
@Pandrex247 This one should be ready to go as soon as it's dependent #7032 is merged |
c9f272a
to
3a59025
Compare
@Pandrex247 this one is building a bit of a backlog now :) |
@lprimak We've recently been dealing with a number of high priority customer issues, internal targets, and attempting to catch up with and start contributing towards Jakarta EE 11 (particularly the Platform TCK and Jakarta Data). Your two PRs don't look quick to review (particularly the CDI in EARs one!), so have unfortunately kept not making the cut for inclusion in our sprints. I do keep mentioning them during backlog grooming though, particularly since they've been open for quite a while now. |
Thanks, the CDI-in-EAR one does the "heavy lift" to get things working for the other two performance PRs, unfortunately I couldn't make it any smaller :) |
…s=true is specified
I have now re-based this PR, so now it's the "top of the stack" |
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.
I experimented this error when I tried to deploy:
[#|2025-02-14T11:09:50.864-0300|SEVERE|Payara 6.2025.2|javax.enterprise.system.core|_ThreadID=299;_ThreadName=admin-thread-pool::admin-listener(6);_TimeMillis=1739542190864;_LevelValue=1000;_MessageID=NCLS-CORE-00026;|
Exception during lifecycle processing
java.lang.Exception: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "jakarta.faces.application.ViewHandler.getViewDeclarationLanguage(jakarta.faces.context.FacesContext, String)" because "viewHandler" is null
I also noticed that you created another branch: flowlogix/warlib-up-to-date
But the PR considers: flowlogix/warlib
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.
I tested using the steps: https://gist.github.com/lprimak/167ff6d0e82f51f42abde57f17758026
It worked, the deploy occurred in 3 seconds.
FISH-10286 Enhancement: Use <domain_dir>/lib/warlibs to enable fast deployments
Description
Dependencies can be copied to
<domain_dir>/lib/warlibs/
and use no-dependency skinny-warfor deployments, significantly improving deployment times.
This can be done by layered docker deployment as well.
This will reduce application redeployment times by orders of magnitude
Orders-of-magnitude performance improvement achieved
Able to deploy real applications in half a second on my machine that used to take 15+ seconds
Fixes #6405
Important info
PR #7165 depends on this PR
Documentation updates
Applications need to be deployed with the following snippet to
asadmin
:--properties warlibs=true
to take advantage of shared WAR libraries. This is to prevent unnecessary loading of shared libraries with non-development applications, such as admin console or other applications that will fail if shared WAR libraries are loaded.Testing
Tested skinny WAR deployment
See https://gist.github.com/lprimak/167ff6d0e82f51f42abde57f17758026