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

New io for Gc #1865

Merged
merged 86 commits into from
Jun 20, 2022
Merged

New io for Gc #1865

merged 86 commits into from
Jun 20, 2022

Conversation

Ngoguey42
Copy link
Contributor

@Ngoguey42 Ngoguey42 commented Jun 9, 2022

The goal of this branch is to host all the diffs for the upcoming GC features of irmin-pack.

The base for this branch is the unreviewed work of #1848 (that shall now be closed). Please review it here.

Also, create PRs targeting this branch for the missing GC features.

Layout of the new abstractions

image

@Ngoguey42 Ngoguey42 mentioned this pull request Jun 20, 2022
Ioana Cristescu and others added 7 commits June 20, 2022 09:28
Co-authored-by: Nicolas Goguey <ngoguey@student.42.fr>
Co-authored-by: Nicolas Goguey <ngoguey@student.42.fr>
Co-authored-by: Nicolas Goguey <ngoguey@student.42.fr>
@icristescu icristescu changed the title WIP: GC GC Jun 20, 2022
@icristescu icristescu changed the title GC New io for Gc Jun 20, 2022
@icristescu icristescu merged commit 8e083d8 into main Jun 20, 2022
icristescu pushed a commit to icristescu/opam-repository that referenced this pull request Jun 20, 2022
…min-test, irmin-pack, irmin-mirage, irmin-mirage-graphql, irmin-mirage-git, irmin-http, irmin-graphql, irmin-git, irmin-fs, irmin-containers, irmin-chunk and irmin-bench (3.3.0)

CHANGES:

### Added

- **irmin**
  - Add `Metrics` module to describe metric gathering in irmin.
    (mirage/irmin#1817, @maiste)
  - Add `Repo.config` to access config used to create repo
    (mirage/irmin#1886, @zshipko)

- **irmin-unix**
  - Add `--plugin` flag to load Dynlink plugins that can register new
    contents, hash and store types (mirage/irmin#1808, @zshipko)

- **irmin-pack**
  - Add `use_fsync`, `dict_auto_flush_threshold` and
  - `suffix_auto_flush_threshold` in store configuration. (mirage/irmin#1865, @Ngoguey42)
  - Add `no_migrate` in store configuration. (mirage/irmin#1893, @zshipko)

### Changed

- **irmin-pack**
  - Move `Irmin_pack.Pack_store.Indexing_strategy` to
    `Irmin_pack.Indexing_strategy` and the rest of `Pack_store`
    to `Irmin_pack_unix` (mirage/irmin#1833, @Ngoguey42)
  - Different repos opened using the same store module no longer share caches
    and file descriptors (mirage/irmin#1852, @Ngoguey42)
  - `Snapshot.Import.close` requires a repo as additional argument (mirage/irmin#1872,
    @icristescu)
  - Upgraded on-disk format to version 3 to support better synchronisation
    mechanism between readwrite and readonly instances. This change is *not*
    backwards-compatible with existing stores using `irmin-pack.x.x < 3.3.0`
    versions. A migration done by the readwrite instance is necessary to open
    older stores with `irmin-pack.3.3.0`. It is not forwards compatible. (mirage/irmin#1865)
  - Rename `Store.sync` to `Store.reload` (mirage/irmin#1900, @Ngoguey42).
  - Add `Pack_error` exception that centralizes many error cases alongside
    `RO_not_allowed` and `Unix.Unix_error` (mirage/irmin#1899, @Ngoguey42)

### Fixed

- **irmin-pack**
  - Allow snapshot export to work on indexed root nodes (mirage/irmin#1845, @icristescu)

- **irmin**
  - Fix Tree.export for nodes exported twice using different repos. (mirage/irmin#1795,
    @Ngoguey42)
@metanivek metanivek deleted the gc branch December 22, 2022 21:18
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.

5 participants