Skip to content

Conversation

@mtelvers
Copy link
Member

This PR introduces two new features:

  1. It adds the command line option --obuilder-prune-item-threshold which specifies an upper bound on the number of result items/steps which will be held in the obuilder cache store. It is possible to specify both --obuilder-prune-threshold and the new --obuilder-prune-item-threshold at the same time which will limit both the number of items and the maximum percentage free and it will prune until both conditions are satisfied. It is noted that some stores perform badly when the number of items becomes very large.

  2. The free disk space calculation is now passed to the OBuilder Store via Builder.df rather than using ExtUnix.All.statvfs to determine the amount of free disk space. As a consequence, we do not need the variable t.root. On macOS with OpenZFS, statvfs (and macOS's own df) returns the space used by the current ZFS volume only and does not include the sub-volumes. Instead, we must use zpool to get the actual space used. I have extended this to BTRFS as well but the difference is negligible.

Copy link
Member

@tmcgilchrist tmcgilchrist left a comment

Choose a reason for hiding this comment

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

Changes look good, please address the code comments.

@tmcgilchrist
Copy link
Member

@mtelvers you might want to grab aabae0f.
The packages require different OCaml versions and that is causing problems.
We can safely move everything to 4.14 since we are the only users of the libraries at the moment.

Ideally current_cluster and ocluster-api could be made to support older versions of OCaml if that was useful. @MisterDA moved the other components to 4.14 to take advantage of Windows bug fixes

@mtelvers mtelvers merged commit d2243ab into ocurrent:master Jun 5, 2023
benmandrew added a commit to benmandrew/opam-repository that referenced this pull request Jan 31, 2024
CHANGES:

- Support OBuilder Docker backend on Windows and Linux (@MisterDA ocurrent/ocluster#143)
- Support OBuilder FreeBSD worker (@tmcgilchrist ocurrent/ocluster#236)
- Specify upper bound on number of items in OBuilder store (@mtelvers ocurrent/ocluster#229)
- Add Prometheus statistics for OBuilder cache hit rate (@mtelvers ocurrent/ocluster#238)
nberth pushed a commit to nberth/opam-repository that referenced this pull request Jun 18, 2024
CHANGES:

- Support OBuilder Docker backend on Windows and Linux (@MisterDA ocurrent/ocluster#143)
- Support OBuilder FreeBSD worker (@tmcgilchrist ocurrent/ocluster#236)
- Specify upper bound on number of items in OBuilder store (@mtelvers ocurrent/ocluster#229)
- Add Prometheus statistics for OBuilder cache hit rate (@mtelvers ocurrent/ocluster#238)
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