Is your feature request related to a problem? Please describe.
container node sets are requested multiple times, at least for:
- ACL processing (
|
isContainerNode, err := c.fsChain.InContainerInLastTwoEpochs(idCnr, reqAuthorPub) |
,
|
inContainer, err := b.nm.ServerInContainer(cnr) |
)
|
nodeLists, repRules, ecRules, err := s.neoFSNet.GetNodesForObject(prm.addr) |
- maybe more
the same is true about container info:
|
cnr, err := b.containers.Get(idCnr) |
|
cnr, err := x.containers.Get(x.id) |
- ...
this is excessive. Better to consider the state consistent for the entire request lifetime
cache can amortize the waste of resources
Describe the solution you'd like
get any consistent data only when needed and only once
Additional context
#1803
Is your feature request related to a problem? Please describe.
container node sets are requested multiple times, at least for:
neofs-node/pkg/services/object/acl/v2/classifier.go
Line 39 in 6180c09
neofs-node/pkg/services/object/acl/v2/service.go
Line 450 in 6180c09
neofs-node/pkg/services/object/get/get.go
Line 65 in 6180c09
the same is true about container info:
neofs-node/pkg/services/object/acl/v2/service.go
Line 515 in 6180c09
neofs-node/pkg/services/object/placement/service.go
Line 297 in 6180c09
this is excessive. Better to consider the state consistent for the entire request lifetime
cache can amortize the waste of resources
Describe the solution you'd like
get any consistent data only when needed and only once
Additional context
#1803