The GitHub Actions job "Benchmarks PR Comment" on texera.git/main has succeeded.
Run started by GitHub user renovate-bot (triggered by renovate-bot).

Head commit for run:
9ead3ac13a3f11a70457f0159c8f7a11cb2c4535 / ali risheh <[email protected]>
feat(mounter): let a deployment give geesefs a disk cache (#8666)

### What changes were proposed in this PR?

`bin/mounter/mounter.py` starts geesefs with `--memory-limit 512` and no
`--cache`, whose default is off. Nothing a mount serves is written to
local disk, so every read goes back to the object store through the file
service and LakeFS. Reading the same 200 MiB three times through a mount
measured 179, 137 and 124 MB/s — no warming at all — against 12.4 GB/s
for the same file on the node's local disk.

This adds `mounter.cacheRoot`, empty by default. When set, geesefs is
given `--cache <dir>`.

The cache is keyed by repository and commit, not by computing unit: a
commit is immutable, so every unit on a node reads one cache instead of
each new unit starting cold — which matters most for a shared public
unit, where the first execution pays and the rest benefit.

`cacheRoot` is a separate value from `hostMountRoot` rather than a
directory inside it. `hostMountRoot` holds only mount points and usually
sits on the OS disk, while a cache is sized by the data being cached, so
the two generally belong on different volumes.

Off by default, so no deployment changes behaviour until an operator
opts in.

### Any related issues, documentation, discussions?

Fixes #8665.

### How was this PR tested?

Two cases added to `bin/mounter/tests/test_mounter.py`: that no
`--cache` is passed by default, and that with a cache root set the
directory handed to geesefs is `<cacheRoot>/<repo>/<commit>` and exists.
Full mounter suite passes (95 tests).

The chart was rendered both ways with `mounter.enabled=true`: without
`cacheRoot` the DaemonSet has no `CACHE_ROOT` env, no extra volumeMount
and no extra volume; with `cacheRoot` set it has all three, pointing at
the configured path. `bin/k8s/tests/test_helm_values.sh` passes.

Tested with a live server.

### Was this PR authored or co-authored using generative AI tooling?

Generated-by: Claude Opus 5

---------

Co-authored-by: Claude Opus 5 (1M context) <[email protected]>

Report URL: https://github.com/apache/texera/actions/runs/36172005099

With regards,
GitHub Actions via GitBox

Reply via email to