Skip to content

Remove the filesystem snapshot benchmark - #3970

Open
kmatasfp wants to merge 6 commits into
gol-604-rustic-snapshot-storefrom
gol-643-remove-benchmark
Open

kmatasfp wants to merge 6 commits into
gol-604-rustic-snapshot-storefrom
gol-643-remove-benchmark

Conversation

@kmatasfp

@kmatasfp kmatasfp commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

resolves GOL-643

stacked on #3949

This change removes the filesystem snapshot benchmark from the executor. The benchmark measured rustic over the blob storage of Golem in golem-dev, and its results decided the values of the store. No later step runs it again, and it must not reach main.

What goes

  • The module filesystem_snapshot/benchmark/, with its golden file and its tests.
  • The binary fs-snapshot-benchmark: its [[bin]] entry, its root src/fs_snapshot_benchmark.rs, the feature fs-snapshot-benchmark and the re-export of its main in lib.rs.
  • The dependency clap of the executor, optional and dev. Only the benchmark used it. The workspace still uses clap in other crates, so only the line of the executor goes from Cargo.lock.
  • Repository::inspect, the free inspect, InspectReport and repository_settings in rustic/mod.rs, with their three tests. Only the benchmark called them.
  • Repository::with_settings, the settings field of Repository, and the repository settings parameter of the free save. Only the benchmark set a value other than the default. A save of the bridge now makes a missing repository with RepositorySettings::DEFAULT, which is what the field held for every other caller.

One test takes the place of the inspect tests. The removed test a_repository_keeps_the_settings_of_its_first_save_and_inspect_gives_them was the only check that the settings reach the config file of a new repository, that a repository that exists keeps its settings, and that fixed chunks and no compression change the stored data. The store depends on this path through open_or_create. The new test a_repository_keeps_the_settings_of_its_creation_and_a_bridge_save_uses_the_defaults checks the same things. It reads the config file with open_existing, so it needs no inspect.

What stays, and why

  • rayon stays. The store uses it for the thread pool of a save or a prune.
  • The bridge Repository and its new, save, save_with, restore, forget and prune stay. The store does not call them, but the bridge tests use them to test the backend, the storage call deadline, the tree pack cache and the change detection, which the store uses.
  • The settings types with all their variants, and the functions that map them to the rustic options, stay with their tests. The store builds its options with these functions.
  • Some fields of the reports of the bridge now have no reader. They are the statistics that rustic gives, and save_report, prune_report and timed, which the store calls, fill them. This change does not touch those functions.
  • The pub(super) items of rustic/mod.rs keep their visibility. The benchmark was a sibling module, so they needed it. A narrower visibility would change many lines that Add the rustic filesystem snapshot store #3949 can still change, and it removes no code.

This change also removes golem_registry_service.db-wal, a SQLite journal that a generation of the OpenAPI spec left in the repository root, and makes .gitignore ignore the companion files of golem_registry_service.db. It is not part of the benchmark, but it must not reach main.

The other benches in golem-worker-executor/benches/, the benchmarks of golem-test-framework and integration-tests, and the filesystem workload benchmark of sandbox_filesystem are not this benchmark, and they stay.

A companion pull request in golem-cloud removes the snapshot benchmark parts of the workflow that built and ran this binary. It keeps the agent I/O measurement of that workflow.

@kmatasfp
kmatasfp added this pull request to stack #3950 September 26, 2026 05:58
@kmatasfp kmatasfp changed the title gol 643 remove benchmark Remove the filesystem snapshot benchmark Sep 26, 2026
@kmatasfp
kmatasfp marked this pull request as ready for review September 26, 2026 06:43
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.

1 participant