Skip to content

sccache doesn't recreate WebDAV SCCACHE_WEBDAV_KEY_PREFIX folder structure #2082

@AJIOB

Description

@AJIOB

Versions

sccache: 0.7.7
bytemark/webdav: latest - used as a free WebDAV server docker image
Build OS: Linux (ubuntu 22.04 x86_64)

Problem description

If you want to use WebDAV as a remote storage, you should specify:

  • SCCACHE_WEBDAV_ENDPOINT
  • SCCACHE_WEBDAV_USERNAME
  • SCCACHE_WEBDAV_PASSWORD

If you need to use a server subdirectory, you should use SCCACHE_WEBDAV_KEY_PREFIX as a folder path.

I've tested on the empty server (without any data)

SCCACHE_WEBDAV_KEY_PREFIX value Is work
/test/ yes
/very/long/ no

WebDAV server logs are provided next

WebDAV server log for /test path

10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/.sccache_check HTTP/1.1" 404 217 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/ HTTP/1.1" 404 203 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/ HTTP/1.1" 201 180 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PUT /test/.sccache_check HTTP/1.1" 201 192 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/9/6/e/96e3b4696d97a5c9f5978639210cd8a8ae392f45de57ae82d9be9a5cbf10b061 HTTP/1.1" 404 273 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/9/6/e/ HTTP/1.1" 404 209 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/9/6/ HTTP/1.1" 404 207 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/9/ HTTP/1.1" 404 205 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/ HTTP/1.1" 207 853 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/9/ HTTP/1.1" 201 182 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/9/6/ HTTP/1.1" 201 184 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/9/6/e/ HTTP/1.1" 201 186 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PUT /test/9/6/e/96e3b4696d97a5c9f5978639210cd8a8ae392f45de57ae82d9be9a5cbf10b061 HTTP/1.1" 201 248 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/a/3/e/a3e9b00a299dc271f834693ab538a1bc1b1d96acd60ea3295802d7550d634a50 HTTP/1.1" 404 273 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/a/3/e/ HTTP/1.1" 404 209 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/a/3/ HTTP/1.1" 404 207 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/a/ HTTP/1.1" 404 205 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PROPFIND /test/ HTTP/1.1" 207 853 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/a/ HTTP/1.1" 201 182 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/a/3/ HTTP/1.1" 201 184 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "MKCOL /test/a/3/e/ HTTP/1.1" 201 186 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:22:11 +0000] "PUT /test/a/3/e/a3e9b00a299dc271f834693ab538a1bc1b1d96acd60ea3295802d7550d634a50 HTTP/1.1" 201 248 "-" "-"

WebDAV server log for /very/long path

10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/.sccache_check HTTP/1.1" 404 222 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/ HTTP/1.1" 404 208 "-" "-"
[Thu Feb 08 10:25:27.300078 2024] [dav:error] [pid 15:tid 140376857488104] (2)No such file or directory: [client 10.250.0.1:33280] Cannot create collection; intermediate collection does not exist.  [409, #0]
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "MKCOL /very/long/ HTTP/1.1" 409 502 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/9/6/e/96e3b4696d97a5c9f5978639210cd8a8ae392f45de57ae82d9be9a5cbf10b061 HTTP/1.1" 404 278 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/9/6/e/ HTTP/1.1" 404 214 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/9/6/ HTTP/1.1" 404 212 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/9/ HTTP/1.1" 404 210 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/ HTTP/1.1" 404 208 "-" "-"
[Thu Feb 08 10:25:27.362688 2024] [dav:error] [pid 15:tid 140376856922856] (2)No such file or directory: [client 10.250.0.1:33280] Cannot create collection; intermediate collection does not exist.  [409, #0]
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "MKCOL /very/long/ HTTP/1.1" 409 502 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/a/3/e/a3e9b00a299dc271f834693ab538a1bc1b1d96acd60ea3295802d7550d634a50 HTTP/1.1" 404 278 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/a/3/e/ HTTP/1.1" 404 214 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/a/3/ HTTP/1.1" 404 212 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/a/ HTTP/1.1" 404 210 "-" "-"
10.250.0.1 - alice [08/Feb/2024:10:25:27 +0000] "PROPFIND /very/long/ HTTP/1.1" 404 208 "-" "-"
[Thu Feb 08 10:25:27.450795 2024] [dav:error] [pid 15:tid 140376856357608] (2)No such file or directory: [client 10.250.0.1:33280] Cannot create collection; intermediate collection does not exist.  [409, #0]

Current behavior

SCCACHE_WEBDAV_KEY_PREFIX may be partially recreated (only if the $(dirname "${SCCACHE_WEBDAV_KEY_PREFIX}) exists)

Expected behavior

SCCACHE_WEBDAV_KEY_PREFIX may be fully recreated (with any number of /-es in the valid path)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions