Neo SPCC launched NeoFS Node v0.54.0 “Ando” on June twenty ninth, delivering new atomic container creation capabilities with eACLs, vital erasure coding efficiency optimizations, and 7 bug fixes throughout storage nodes and interior ring elements. 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 gives fine-grained, attribute-based entry management guidelines for NeoFS containers, extending the less complicated primary 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 strategy 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 simply accept JSON or binary encoded eACL desk recordsdata.
On the interior ring aspect, 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 situations.
This launch optimizes GET requests for erasure-coded objects that don’t require full EC restoration (PR #3996). If the requested knowledge already exists on the native node or within the first knowledge half holder, NeoFS now streams it straight 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 might 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.
Cut up object assemblies now prefetch youngster objects concurrently throughout streaming (PR #4014, #4042). Beforehand, massive multipart objects fetched every youngster in flip. The brand new pipeline strategy makes use of a configurable read-ahead window to prefetch subsequent youngsters within the background whereas one youngster is streaming to the shopper, 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 word.
Studying a spread object 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 basis trigger in vary boundary calculations.
GET requests marked as payload-only could possibly be incorrectly rejected throughout eACL rechecking (PR #4024, #4029). If the item 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 knowledge as a result of the epoch metric was not set at startup and did not replace after shedding FS chain connectivity (Concern #4035).
Extra fixes tackle storage node panics at startup when the management service shouldn’t be configured, and protobuf scanning and knowledge 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 gives underlying help 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 will be discovered on the hyperlink under.
https://github.com/nspcc-dev/neofs-node/releases/tag/v0.54.0

