frostfs-node/pkg/local_object_storage/blobovnicza
Leonard Lyubich 8e8265d5ea [#1707] blobovnicza/get: Iterate over all buckets regardless of config
Re-configuration of Blobovnicza's object size limit must not affect
already stored objects. In previous implementation `Blobovnicza` didn't
see objects stored in buckets which became too big after size limit
re-configuration. For example, lets consider 1st configuration with 64KB
size limit for stored objects. Lets assume that we stored object of 64KB
size, and re-configured `Blobovnicza` with 32KB limit. After reboot
object should be still available, but actually it isn't. This is caused
by `Get` operation algorithm which iterates over configured size ranges
only, and doesn't process any other existing size bucket. By the way,
increasing of the object size limit didn't lead to the problem even in
previous implementation.

Make `Blobovnicza.Get` method to iterate over all size buckets
regardless of current configuration. This covers the described scenario.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-08 12:24:28 +04:00
..
blobovnicza.go [#1559] local_object_storage: Provide readOnly flag to `Open` 2022-07-21 17:56:06 +03:00
blobovnicza_test.go [#1686] blobovnicza: Remove `IterateObjects` 2022-08-30 10:02:43 +03:00
control.go [#1463] blobovnicza: Determine db size via `os.Stat` 2022-06-03 13:42:54 +03:00
delete.go [#1460] blobovnicza: Do not use pointers as the results 2022-06-06 18:03:12 +03:00
errors.go [#1320] English Check 2022-05-11 10:40:02 +03:00
get.go [#1707] blobovnicza/get: Iterate over all buckets regardless of config 2022-09-08 12:24:28 +04:00
get_test.go [#1707] blobovnicza/get: Iterate over all buckets regardless of config 2022-09-08 12:24:28 +04:00
id.go [#1523] shard: Store generic storage ID in metabase 2022-08-22 13:14:19 +03:00
iterate.go [#1686] blobovnicza: Remove `IterateObjects` 2022-08-30 10:02:43 +03:00
iterate_test.go [#1418] blobovnicza: Do not use pointers as parameters 2022-06-03 07:35:17 +03:00
put.go [#1460] blobovnicza: Do not use pointers as the results 2022-06-06 18:03:12 +03:00
sizes.go [#1094] blobovnicza: calculate size in `Init` properly 2022-01-31 12:36:40 +03:00
sizes_test.go [#216] blobovnicza: Implement main methods and logic 2020-12-11 17:19:37 +03:00