-
Notifications
You must be signed in to change notification settings - Fork 50
Closed
Labels
I4No visible changesNo visible changesS4RoutineRoutineU2Seriously plannedSeriously plannedbugSomething isn't workingSomething isn't workingneofs-storageStorage node application issuesStorage node application issues
Milestone
Description
- regular object (O) is removed via object of TOMBSTONE type (T) assoticated with O
- O is prototected from removal via object of LOCK type (L) associated with O
L and T cannot exist simultaneously
Expected Behavior
if T exists, L cannot be created
Current Behavior
L can be created
Possible Solution
in storage engine, O/T/L objects are stored in shards (different in general). T/L marks for O are stored in metabases (one per shard). When SE accepts L, it needs to make sure that no shard contains actual (*) T object
(*) objects may expire
afaik, for containers with consistent metadata, L/T are stored in the metadata service. In such cases, checks should be carried out at this level, and SE can be exempted from checks
Steps to Reproduce (for bugs)
- run devenv
neofs-cli object putneofs-cli object deleteneofs-cli object lock
Context
Regression
no
Your Environment
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
I4No visible changesNo visible changesS4RoutineRoutineU2Seriously plannedSeriously plannedbugSomething isn't workingSomething isn't workingneofs-storageStorage node application issuesStorage node application issues