feat(webdav): skip_health_check and disable_create_dir#2591
feat(webdav): skip_health_check and disable_create_dir#2591weihanglo wants to merge 2 commits intomozilla:mainfrom
Conversation
Update opendal dependency to use the git version which includes the `disable_create_dir` option for WebDAV.
On startup, sccache verifies storage connectivity by reading/writing a `.sccache_check` file. Some WebDAV servers reject this path format. For example, bazel-remote requires SHA256 hash paths and returns 400 for arbitrary paths like `.sccache_check`. Additionally, some servers don't support PROPFIND/MKCOL methods used during directory creation. For example, bazel-remote returns 405. This adds two independent options: - `skip_health_check`: bypasses the probe and assumes read-write access - `disable_create_dir`: skips PROPFIND/MKCOL calls during writes Users can enable these via config or environment variables: - `SCCACHE_WEBDAV_SKIP_HEALTH_CHECK=true` - `SCCACHE_WEBDAV_DISABLE_CREATE_DIR=true` Fixes: mozilla#2278
|
@Xuanwo sorry for bothering you again. This is a way to fix bazel-remote support. With this, people can easily spin up a bazel-remote or nginx with minimal configuration to use as sccache backend. See https://bazel.build/remote/caching. This would attract more usage of sccache and OpenDAL, since WebDAV is more a lightweight backend than others. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2591 +/- ##
==========================================
- Coverage 72.03% 65.26% -6.78%
==========================================
Files 66 66
Lines 36953 32261 -4692
==========================================
- Hits 26619 21054 -5565
- Misses 10334 11207 +873 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Found more blocker in bazel-remote as webdav backend. Will post in the original issue. Closing as this won't go any farther |
On startup, sccache verifies storage connectivity by reading/writing
a
.sccache_checkfile. Some WebDAV servers reject this path format.For example, bazel-remote requires SHA256 hash paths and returns 400
for arbitrary paths like
.sccache_check.Additionally, some servers don't support PROPFIND/MKCOL methods used
during directory creation. For example, bazel-remote returns 405.
This adds two independent options:
skip_health_check: bypasses the probe and assumes read-write accessdisable_create_dir: skips PROPFIND/MKCOL calls during writesUsers can enable these via config or environment variables:
SCCACHE_WEBDAV_SKIP_HEALTH_CHECK=trueSCCACHE_WEBDAV_DISABLE_CREATE_DIR=trueFixes: #2278