Neo SPCC launched NeoFS Node v0.54.0 “Ando” on June twenty ninth, delivering new atomic container creation capabilities with eACLs, important erasure coding efficiency optimizations, and 7 bug fixes throughout storage nodes and interior ring parts. This launch doesn’t require any migration from v0.53.0.
Creating an atomic eACL
v0.54.0 options atomic eACL creation (PR #4006), which permits container creation and prolonged entry management listing attachments to be despatched in a single RPC name. eACL supplies fine-grained, attribute-based entry management guidelines for NeoFS containers, extending the easier fundamental ACL system.
Beforehand, configuring a container with customized entry guidelines required two separate community spherical journeys. The primary time was to create the container and the second time was to connect the eACL desk. The brand new method combines each operations right into a single FS chain transaction, making certain both each succeed or each fail. of neofs-cli container create command will get new --eacl Flag to just accept JSON or binary encoded eACL desk recordsdata.
On the interior ring facet, the container processor now validates and applies an elective eACL desk throughout processing. CreateContainerV2 Notary occasion. This function depends on adjustments launched in NeoFS SDK RC20.
Efficiency optimization
The 4 efficiency enhancements goal learn path operations throughout numerous storage eventualities.
This launch optimizes GET requests for erasure-coded objects that don’t require full EC restoration (PR #3996). If the requested information already exists on the native node or within the first information half holder, NeoFS now streams it instantly from that supply as a substitute of assembling all of the EC components.
Request forwarding has additionally been rebalanced (PR #4008, #4021). Beforehand, when a storage node forwarded a GET, HEAD, SEARCH, or RANGE request to a different node, it could resign the forwarded request on every try. The node choice logic has been additional improved to make sure that signing happens at most as soon as per request. The first holder is shuffled and tried first for REP containers for load balancing.
Break up object assemblies now prefetch youngster objects concurrently throughout streaming (PR #4014, #4042). Beforehand, giant multipart objects fetched every youngster in flip. The brand new pipeline method makes use of a configurable read-ahead window to prefetch subsequent kids within the background whereas one youngster is streaming to the consumer, decreasing end-to-end GET latency for giant recordsdata.
FSTree vary reads are optimized to make use of correct seeks as a substitute of copying skipped bytes to a no-op sink (PR #4016), decreasing CPU overhead on RANGE operations on uncompressed objects.
Bug fixes
This launch addresses seven bugs, three of that are of explicit be aware.
Studying ranged objects from the FSTree backend may return extra payload bytes than requested (PR #4046, #4051). The vary restrict logic didn’t correctly account for bytes already current within the learn buffer prefix. The identical PR additionally mounted incorrect distant EC half ranges used throughout policer checks that share the foundation trigger in vary boundary calculations.
GET requests marked as payload-only may very well be incorrectly rejected throughout eACL rechecking (PR #4024, #4029). If the article header was omitted within the request, the node did not match attribute-based eACL guidelines and blocked entry for customers who relied on these guidelines.
of neofs-ir The monitoring dashboard displayed inaccurate epoch information as a result of the epoch metric was not set at startup and did not replace after dropping FS chain connectivity (Subject #4035).
Further fixes tackle storage node panics at startup when the management service will not be configured, and protobuf scanning and information race points in EC GET response dealing with.
Dependencies and upgrades
NeoFS Node v0.54.0 updates the dependency on NeoGo to v0.120.0 and patches a number of safety vulnerabilities. Additionally replace the dependency on NeoFS SDK to RC20. This supplies underlying assist for atomic eACL creation.
No configuration adjustments or metabase migrations are required when upgrading from v0.53.0. Binaries can be found for Linux, macOS, and Home windows for each amd64 and arm64 architectures.
Full launch notes might be discovered on the hyperlink under.
https://github.com/nspcc-dev/neofs-node/releases/tag/v0.54.0
