Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blobstor: Try another sub-storage when the current one is full #2450

Merged

Commits on Jul 21, 2023

  1. blobstor: Try another sub-storage when the current one is full

    Previously, `BlobStor.Put` always failed when the first sub-storage that
    matched the policy failed. In particular, when `Blobovnicza` tree
    (limited by size) was full, BlobStor didn' try to store data in the
    `FSTree`. This behavior led to storage service denial.
    
    Make `BlobStor.Put` to try next sub-storage when currently processed one
    is full (returns `common.ErrNoSpace` error). The method still
    immediately fails on any other error.
    
    Closes nspcc-dev#2382.
    
    Signed-off-by: Leonard Lyubich <[email protected]>
    cthulhu-rider committed Jul 21, 2023
    Configuration menu
    Copy the full SHA
    fa03442 View commit details
    Browse the repository at this point in the history
  2. blobstor: Return ErrNoSpace if all sub-storages are full

    Previously, `BlobStor` returned `ErrNoPlaceFound` when all sub-storages
    were full. This error is related to policy compliance instead of free
    space. To make component more responsive, the `ErrNoSpace` error should
    be returned in these cases.
    
    Signed-off-by: Leonard Lyubich <[email protected]>
    cthulhu-rider committed Jul 21, 2023
    Configuration menu
    Copy the full SHA
    9cabb44 View commit details
    Browse the repository at this point in the history