-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Too many open file on spring application start #1449
Comments
Thank you @pmancaux for writing up this issue. We will add this to our list of issues to process. |
@molivasdat any news about this issue? i m doing upgrade of my lib every 3 month but i can t go to 4.0.0 for now thanks |
@molivasdat just for any news if you have :) thanks! |
This has been reported in 3.10.3 as well: |
Duplicate of #1815 |
Since this is a duplicate, I'm closing this issue to consolidate tracking and discussion. |
Environment
Liquibase Version:
4.0.0
Liquibase Integration & Version: <Pick one: CLI, maven, gradle, spring boot, servlet, etc.>
Spring
Liquibase Extension(s) & Version:
Database Vendor & Version:
Postgres 12
Operating System Type & Version:
Ubuntu 18.04 or linux with kernel 3.10.0-862.14.4.el7.x86_64
Description
When i upgrade from 3.8.1 to 4.0.0 i see Too many open file when i start my application.
What i see is a change in SpringLiquibase when createLiquibase is done. method createResourceOpener in 3.8.1 is
and in 4.0.0 become :
The fact is when method DatabaseChangeLog.load is call, espacially this part of code :
when childNode.nodeName is equal to "include", code is loading/accessing all jar of my application and if i do lsof -p [PID] | wc -l on my system i can see that it pass from 500 to 1200 to 1500 to 2000 very rapidly and at the end of this foreach to 200.
If i come back to 3.8.1 i can see that lsof | wc -l is always equals to 500 and never grow up.
I don't understand why we search in all jar of the application for an include node when relativetochangelog is set to true, we just need to search only in this jar, not all?
Steps To Reproduce
with liquibase 3.8.1
create à changelog with many include like this :
and see lsof -p [PID] | wc -l on the filesystem
do the same with liquibase 4.0.0 and you will see the difference.
The text was updated successfully, but these errors were encountered: