Should AddChain
update/invalidate APE cache? #1503
Labels
No labels
P0
P1
P2
P3
badger
frostfs-adm
frostfs-cli
frostfs-ir
frostfs-lens
frostfs-node
good first issue
triage
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1503
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Is your feature request related to a problem? Please describe.
It's a question.
We have
AddChain
methodfunc (s *Service) AddChain(_ context.Context, req *apemanagerV2.AddChainRequest) (*apemanagerV2.AddChainResponse, error) {
that allows to add new container policy.
And after invoking this method we have to wait until:
Is it ok? I'd like to be able to put objects right after container creation (say we use sdk) and adding policies.
Describe the solution you'd like
Probably we can invalidate APE cache on these requests (AddChain, DeleteChain)
Describe alternatives you've considered
GetContainer
requests to know if container has already created (it seems such requests fill cache with empty list of chains)Additional context
TrueCloudLab/frostfs-s3-gw#553
This issue can be solved by this.
To be honest, I didn't fully understand how you reproduced these steps:
Policy
contract and thenawait
for container creation?await
for its creation and then set APE-chain toPolicy
contract?Anyway, that pushed me to check
Get
handler of the container service and I found that it sets container target before APE-check. This implicit thing might fix your problem indirectly, but I suppose this won't be merged in the context of this problem, again, because it's not obvious and unrelated. This fix also requires some big checks because some client accidently may setGetContainer
policies within container target although container target is supposed for object operations.If you was trying (2), then you should have waited for the transaction is accepted anyway: while #1506 is not implemented.