Skip to content
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

Scheduler: Support parallel-install with merge-wait #1287

Merged

Conversation

zmedico
Copy link
Member

@zmedico zmedico commented Feb 25, 2024

For system packages, always serialize install regardless parallel-install, in order to mitigate failures triggered by fragile states as in bug 256616. For other packages, continue to populate self._task_queues.merge, which will serialize install unless parallel-install is enabled.

Fixes: 825db01 ("Add merge-wait FEATURES setting enabled by default")
Bug: https://bugs.gentoo.org/256616
Bug: https://bugs.gentoo.org/925213

@zmedico zmedico force-pushed the bug_925213_merge-wait_and_parallel-install branch 8 times, most recently from a5762e8 to c474cbe Compare February 26, 2024 21:52
lib/_emerge/Scheduler.py Show resolved Hide resolved
man/make.conf.5 Outdated
disable \fIebuild\-locks\fR.
parallelism. For additional parallelism disable \fIebuild\-locks\fR.
Also disable \fImerge\-wait\fR for additional parallelism if desired,
but this is not necessary because \fIparallel\-install\fR cooperates
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe tweak the phrasing here? I think users get confused by the different options and how to achieve maximum parallelism (and the risks of each).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, changed it to:

Also disable merge-wait for additional parallelism if desired, but that increases the possibility of random build failures. When parallel-install is used together with merge-wait, parallel installation occurs in batches when there are no builds running.

For system packages, always serialize install regardless of
parallel-install, in order to mitigate failures triggered
by fragile states as in bug 256616. For other packages,
continue to populate self._task_queues.merge, which will
serialize install unless parallel-install is enabled.

Fixes: 825db01 ("Add merge-wait FEATURES setting enabled by default")
Bug: https://bugs.gentoo.org/256616
Bug: https://bugs.gentoo.org/925213
Signed-off-by: Zac Medico <zmedico@gentoo.org>
@zmedico zmedico force-pushed the bug_925213_merge-wait_and_parallel-install branch from c474cbe to 0896ede Compare February 27, 2024 02:54
@gentoo-bot gentoo-bot merged commit 0896ede into gentoo:master Feb 27, 2024
12 checks passed
@zmedico zmedico deleted the bug_925213_merge-wait_and_parallel-install branch February 27, 2024 03:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants