-
Notifications
You must be signed in to change notification settings - Fork 13
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
How do I handle this error: "too many open files in system" #30
Comments
Output from ulimit:
|
@josh-m-sharpe can you please include a build URL too? |
Apologies, I have asked this same question on intercom - Andrew responded to me there. The failing build in question: https://app.bitrise.io/build/46a6fb95a940bd50#?tab=log |
For what it's worth, I see this post, and the answer, but would argue that the response is invalid: On CircleCI and Bitrise, my yarn install takes roughly 3 minutes. On CircleCI, the cache restore takes 50 seconds. So there's definitely some room for optimization. |
@bitce @josh-m-sharpe Any update on this? we are experiencing the same issue: https://app.bitrise.io/build/d7b9552977bbe2e4#?tab=log |
I have another email thread going with Andrew at bitrise. He says they’re
investigating.
…On Tue, Oct 8, 2019 at 9:39 AM pera ***@***.***> wrote:
@bitce <https://github.com/bitce> @josh-m-sharpe
<https://github.com/josh-m-sharpe> Any update on this? we are
experiencing the same issue:
https://app.bitrise.io/build/d7b9552977bbe2e4#?tab=log
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#30?email_source=notifications&email_token=AAAJUMIOY6YTY4D4PJ4KZITQNSEQ5A5CNFSM4IYWRQPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAUGKIY#issuecomment-539518243>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAAJUMJDOXBGEWLBDG4O3DTQNSEQ5ANCNFSM4IYWRQPA>
.
|
Hi guys! This should be fixed since #32 so in the latest 2.2.1 step version. Can you let us know what you're experiencing? :) |
It seems like I'm now able to cache ./node_modules but unfortunately, I
don't think the change is worthwhile. There still seem to be some
shortcomings of cache-push.
Here are two builds, from the same branch/commit. So they have identical
yarn.lock files.
632:
https://app.bitrise.io/build/bd2b912489795274#?tab=log
633:
https://app.bitrise.io/build/a776dd9c3b72879a#?tab=log
632:
cache-pull: 13.92 seconds
yarn install: 3.6 minutes
cache-push: 7.7 minutes
This seems expected. Long yarn install times and long cache push times.
633 was run immediately following 632:
cache-pull: 1.1 minutes
yarn install: 6.5 seconds
cache-push: 3 minutes
Why is cache-push still 3 minutes when it (should be) pushing the exact
same data that was set up in 632?
I would have expected that 633's cache-push would have recognized that the
cache already existed and finished very quickly.
…On Tue, Oct 15, 2019 at 7:55 AM Bence Kubik ***@***.***> wrote:
Hi guys! This should be fixed since #32
<#32> so in the
latest 2.2.1 step version. Can you let us know what you're experiencing? :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#30?email_source=notifications&email_token=AAAJUMMXYM355WZSWGRW6ITQOWVSVA5CNFSM4IYWRQPKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBIO7YI#issuecomment-542175201>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAJUMOBJ7F3C6QLY3OAKWDQOWVSVANCNFSM4IYWRQPA>
.
|
Hey @josh-m-sharpe , thanks for sharing! The step is working as intended. In build 633, the JSON parser takes 2 min 40 seconds to parse your previous cache's manifest to see if any additional uploads need to be performed. It then determines there are no changes and completes in a few hundred milliseconds. |
@ahvth-bitrise I'm a little confused. I gotta say, I assumed that the reason the "Cache paths" input was structured the way it is: ...was because the step was doing something with the file on the right-hand side. But it sounds like this algorithm does something with every single file in the cache? That seems like huge waste of time and resources to me. Why not just md5 the lock file? That's what I was assuming it was doing. md5 takes all of zero seconds:
|
Hm, ideally the update indicator file would be the only file that gets checked in this case, yes. One issue that comes to mind looking at your specific example is that perhaps the relative paths are tripping up the step here. Could you try switching those out with the absolute paths of your update indicator files? If that fails, I will make an investigation task for our tooling team to explore why the hashing took so long in your case. FYI, there is also a second method here that you can make use of which only checks the date modified to designate files for upload. Could you please try setting the |
I have no interest in caching based on the timestamp of the file - that will just produce false broken caches. MD5 should really be the way to go here. |
Understood. Could you please try with absolute file paths for the update indicator files and let me know if it works for you? If not, please send me the build URL here or in our Intercom conversation and I will initiate an investigation. |
Closing this as the "too many open files in system" is was resolved. Thanks! |
Hi @josh-m-sharpe, |
The text was updated successfully, but these errors were encountered: