Remove limit on max parallel file ops#5986
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
5f807ea to
0a296b9
Compare
Thank you for your contribution! ❤️You can try out this pull request locally by installing Rollup via npm install rollup/rollup#gh-5848_remove_file_ops_limitNotice: Ensure you have installed the latest stable Rust toolchain. If you haven't installed it yet, please see https://www.rust-lang.org/tools/install to learn how to download Rustup and install Rust. or load it into the REPL: |
Performance report
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5986 +/- ##
==========================================
- Coverage 98.78% 98.78% -0.01%
==========================================
Files 270 270
Lines 8735 8734 -1
Branches 1510 1510
==========================================
- Hits 8629 8628 -1
Misses 73 73
Partials 33 33 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This PR has been released as part of rollup@4.44.0. You can test it via |
|
Hi @lukastaegert, I’m currently encountering an Here’s an example error log (paths simplified): I’m still investigating on my side but wanted to share this in case it helps track related issues. Thanks so much for your work on Rollup! 🙏 Package: |
|
I downgraded Rollup to |
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The issue occurs because the `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer `load` calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock where no task can complete. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). Closes stenciljs#6253
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The issue occurs because the `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer `load` calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock where no task can complete. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). Closes stenciljs#6602
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The issue occurs because the `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer `load` calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock where no task can complete. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). Closes stenciljs#6602
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The issue occurs because the `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer `load` calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock where no task can complete. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). Closes stenciljs#6602
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The issue occurs because the `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer `load` calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock where no task can complete. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). Closes stenciljs#6602
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer load calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). fixes: stenciljs#6602
Stencil bundles Rollup 4.34.9, which contains a known deadlock bug (rollup/rollup#5848) that causes watch mode rebuilds to hang indefinitely at 'generate lazy + source maps'. The `@rollup/plugin-commonjs` `load` hook calls `this.load()` internally. With Rollup's `maxParallelFileOps` defaulting to 20, the outer load calls saturate the file operation queue, and the nested `this.load()` calls queue behind them — creating a deadlock. This is triggered on rebuild because Rollup passes all cached modules (3000+ in a large project) through the load pipeline simultaneously. Rollup 4.44.0 fixes this by changing the default `maxParallelFileOps` to Infinity (rollup/rollup#5986). fixes: #6602
This PR contains:
Are tests included?
Breaking Changes?
List any relevant issue numbers:
loadhook is called concurrently more thanmaxParallelFileOpsin watch mode #5848Description
If we hit this limit for
this.loadcalls, it leads to a very unpleasant "hanging" situation for users.