en
Back to the list

NeoFS S3 Gateway v0.45.1 optimizes read, write performance via SDK RC21

source-logo  neonewstoday.com 1 h
image

Neo SPCC released NeoFS S3 Gateway v0.45.1 on Aug. 4, a patch update delivering three performance optimizations and a metadata fix to the S3-compatible interface for NeoFS decentralized storage. Two of the three improvements are enabled by NeoFS SDK Go RC21, which shipped days earlier alongside NeoFS Node v0.55.0.

The release builds on S3 Gateway v0.45.0, the major July release that introduced namespace configuration, simplified EACL rules, and removed legacy access box support. As a patch, v0.45.1 requires no migration for existing v0.45.0 users.

Write buffering, ranged GET optimizations

The first optimization adopts the io.ReaderFrom interface for the object payload writer, a feature introduced in SDK RC21. By eliminating at least one intermediate data copy during PUT operations, the change reduces memory allocation and CPU overhead on the write path (#1320).

The second targets ranged GET requests, which previously required a separate round-trip to fetch the object header before retrieving ranged data. Using SDK RC21’s HTTP-alike byte range parameters, the gateway now retrieves the header and ranged payload in a single call (#1319). The improvement benefits streaming media, partial downloads, and multipart upload workflows that rely on S3 range reads.

EACL set during container creation

Extended Access Control Lists are now applied in the same network call as container creation, rather than requiring a separate follow-up request (#1304). The change reduces latency during S3 bucket creation and closes a brief window in which a newly created container could exist without its intended access policy.

System attributes fix

A correctness fix filters NeoFS internal system attributes from GetObject metadata responses (#1321). Previously, these protocol-level attributes were included alongside user-defined metadata in S3 responses, exposing internal implementation details to clients. The fix ensures only user-defined metadata is surfaced, aligning with expected S3 API behavior.

Dependency updates

Beyond the SDK RC21 upgrade, v0.45.1 pulls in security and maintenance updates for golang.org/x/crypto v0.52.0, golang.org/x/net v0.55.0, and google.golang.org/grpc v1.82.1. The gRPC update includes mitigations for HTTP/2 frame flood denial-of-service and fixes for authorization bypass scenarios in xDS permission matching.

The full release notes can be found at the link below:
https://github.com/nspcc-dev/neofs-s3-gw/releases/tag/v0.45.1

neonewstoday.com