frostfs-node/pkg/services/object
Evgenii Stratonikov b42bcdc6fa
All checks were successful
DCO action / DCO (pull_request) Successful in 1m24s
Tests and linters / Run gofumpt (pull_request) Successful in 1m18s
Vulncheck / Vulncheck (pull_request) Successful in 1m30s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m20s
Build / Build Components (pull_request) Successful in 2m30s
Tests and linters / gopls check (pull_request) Successful in 2m50s
Tests and linters / Staticcheck (pull_request) Successful in 3m22s
Tests and linters / Lint (pull_request) Successful in 3m55s
Tests and linters / Tests (pull_request) Successful in 6m3s
Tests and linters / Tests with -race (pull_request) Successful in 6m2s
[#1433] services/object: Put object before auxiliary info
Consider the following operations ordering:
1. Inhume(with tombstone A) --> add tombstone mark for an object
2. --> new epoch arives
3. --> GCMark is added for a tombstone A, because it is unavailable
4. Put(A) --> return error, because the object already has a GCMark

It is possible, and I have successfully reproduced it with a test on the
shard level. However, the error is related to the specific
_ordering_ of operations with engine. And triggering race-conditions like
this is only possible on a shard level currently, so no tests are
written.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-10-17 14:43:13 +03:00
..
acl [#1317] go.mod: Use range over int 2024-09-03 13:00:54 +03:00
ape [#1397] object: Correctly set namespace before APE check 2024-09-27 11:43:29 +00:00
common [#1433] services/object: Put object before auxiliary info 2024-10-17 14:43:13 +03:00
delete [#1431] node: Fix comment format 2024-10-15 08:53:59 +00:00
get [#1388] getSvc: Drop unused 2024-09-25 08:55:38 +00:00
internal Reapply "[#972] Use min/max builtins" 2024-04-10 12:09:34 +00:00
patch [#1431] node: Fix comment format 2024-10-15 08:53:59 +00:00
put [#1412] engine: Add IsIndexedContainer flag 2024-10-08 11:41:49 +03:00
search [#1412] searchSvc: Check container is indexed 2024-10-08 11:41:50 +03:00
util [#1253] getSvc: Fix EC objects get 2024-07-17 14:24:27 +03:00
audit.go [#1338] object: Fix audit patch stream 2024-08-27 16:18:29 +03:00
common.go [#1307] object: Implement Patch method 2024-08-16 14:13:09 +00:00
metrics.go [#1318] Fix gofumpt issue 2024-08-20 14:34:54 +03:00
remote_reader.go [#1431] obj_storage/metabase: Delete unused variable 2024-10-15 08:53:59 +00:00
request_context.go [#1157] object: Make APE checker use Bearer-token's APE overrides 2024-06-07 12:11:11 +00:00
response.go [#1307] object: Implement Patch method 2024-08-16 14:13:09 +00:00
server.go [#1307] object: Implement Patch method 2024-08-16 14:13:09 +00:00
sign.go [#1388] signSvc: Drop unused 2024-09-25 08:55:38 +00:00
transport_splitter.go [#1307] object: Implement Patch method 2024-08-16 14:13:09 +00:00