ollama/server/internal/cache/blob
Blake Mizerany eb2b22b042
server/internal/client: use chunksums for concurrent blob verification (#9746)
Replace large-chunk blob downloads with parallel small-chunk
verification to solve timeout and performance issues. Registry users
experienced progressively slowing download speeds as large-chunk
transfers aged, often timing out completely.

The previous approach downloaded blobs in a few large chunks but
required a separate, single-threaded pass to read the entire blob back
from disk for verification after download completion.

This change uses the new chunksums API to fetch many smaller
chunk+digest pairs, allowing concurrent downloads and immediate
verification as each chunk arrives. Chunks are written directly to their
final positions, eliminating the entire separate verification pass.

The result is more reliable downloads that maintain speed throughout the
transfer process and significantly faster overall completion, especially
over unstable connections or with large blobs.
2025-03-13 22:18:29 -07:00
..
cache.go server/internal/client: use chunksums for concurrent blob verification (#9746) 2025-03-13 22:18:29 -07:00
cache_test.go server/internal: replace model delete API with new registry handler. (#9347) 2025-02-27 12:04:53 -08:00
casecheck_test.go server/internal: replace model delete API with new registry handler. (#9347) 2025-02-27 12:04:53 -08:00
chunked.go server/internal/client: use chunksums for concurrent blob verification (#9746) 2025-03-13 22:18:29 -07:00
digest.go server/internal/client: use chunksums for concurrent blob verification (#9746) 2025-03-13 22:18:29 -07:00
digest_test.go server/internal: copy bmizerany/ollama-go to internal package (#9294) 2025-02-24 22:39:44 -08:00