nspcc-dev/neofs-node

node: Refactor using `StorageEngine` in `Object` service

Offen

#1.834 geöffnet am 04.10.2022

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Go (49 Forks)auto 404
I4S2U4enhancementgood first issueneofs-storage

Repository-Metriken

Stars
 (36 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

Object service server of storage node uses engine.StorageEngine type directly almost everywhere. Such code architecture doesn't allow to tune local storage behavior. For example, in #1798 there was a need to block all local operations, but on Object server only: Control service should still call the engine.

I propose to refactor engine's usage as it done it ObjectService.Put server

https://github.com/nspcc-dev/neofs-node/blob/4eb0ed11f8e56beee3dfbee632cb4b9cad3bb47c/pkg/services/object/put/local.go#L11-L16

Each component should precisely document expected behavior of local object storage by itself via locally defined interface. As a bonus, instance can be easily mocked for testing.

Contributor Guide