frostfs-node/CHANGELOG.md
Pavel Karpy c60029d3b0
All checks were successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/push/pre-commit Pipeline was successful
[#323] node: Fix tree svc panic
If a connection has not been established earlier, it stores `nil` in LRU
cache. Cache eviction tries to close every connection (even a `nil` one) and
panics but not crash the app because we are using pools.
That ugly bug also leads to a deadlock where `Unlock` is not called via
`defer` func (and that is the way I found it).

Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2023-05-04 20:04:30 +03:00

4.5 KiB

Changelog

Changelog for FrostFS Node

Unreleased

Added

Changed

Fixed

  • Copy number was not used for PUT requests (#284)
  • Tree service panic in its internal client cache (#323)

Removed

Updated

Updating from v0.36.0

[v0.36.0] - 2023-04-12 - Furtwängler

Added

  • Add GAS pouring mechanism for a configurable list of wallets (#128)
  • Separate batching for replicated operations over the same container in pilorama (#1621)
  • Doc for extended headers (#2128)
  • New frostfs_node_object_container_size metric for tracking size of reqular objects in a container (#2116)
  • New frostfs_node_object_payload_size metric for tracking size of reqular objects on a single shard (#1794)
  • Add command frostfs-adm morph netmap-candidates (#1889)
  • object.delete.tombstone_lifetime config parameter to set tombstone lifetime in the DELETE service (#2246)
  • Reload config for pprof and metrics on SIGHUP in neofs-node (#1868)
  • Multiple configs support (#44)
  • Parameters nns-name and nns-zone for command frostfs-cli container create (#37)
  • Tree service now saves the last synchronization height which persists across restarts (#82)
  • Add tracing support (#135)

Changed

  • Change frostfs_node_engine_container_size to counting sizes of logical objects
  • common.PrintVerbose prints via cobra.Command.Printf (#1962)
  • Env prefix in configuration changed to FROSTFS_* (#43)
  • Link object is broadcast throughout the whole container now (#57)
  • Pilorama now can merge multiple batches into one (#2231)
  • Storage engine now can start even when some shard components are unavailable (#2238)
  • neofs-cli buffer for object put increased from 4 KiB to 3 MiB (#2243)
  • Expired locked object is available for reading (#56)
  • Initialize write-cache asynchronously (#32)
  • Update system attribute names (#159)

Fixed

  • Increase payload size metric on shards' put operation (#1794)
  • Big object removal with non-local parts (#1978)
  • Disable pilorama when moving to degraded mode (#2197)
  • Fetching blobovnicza objects that not found in write-cache (#2206)
  • Do not search for the small objects in FSTree (#2206)
  • Correct status error for expired session token (#2207)
  • Set flag mode required for frostfs-cli control shards set-mode (#8)
  • Fix dirty suffix in debian package version (#53)
  • Prevent node process from killing by systemd when shutting down (#1465)
  • Restore subscriptions correctly on morph client switch (#2212)
  • Expired objects could be returned if not marked with GC yet (#2213)
  • neofs-adm morph dump-hashes now properly iterates over custom domain (#2224)
  • Possible deadlock in write-cache (#2239)
  • Fix *_req_count and *_req_count_success metric values (#2241)
  • Storage ID update by write-cache (#2244)
  • neo-go client deadlock on subscription (#2244, #2272)
  • Possible panic during write-cache initialization (#2234)
  • Do not fetch an object if meta is missing it (#61)
  • Create contract wallet only by init and update-config command (#63)
  • Actually use object.put.pool_size_local and independent pool for local puts (#64).
  • Pretty printer of basic ACL in the NeoFS CLI (#2259)
  • Adding of public key for nns group group.frostfs at init step (#130)
  • Iterating over just removed files by FSTree (#98)
  • Parts of a locked object could not be removed anymore (#141)
  • Non-alphabet nodes do not try to handle alphabet events (#181)

Removed

Updated

  • neo-go to v0.100.1
  • github.com/klauspost/compress to v1.15.13
  • github.com/multiformats/go-multiaddr to v0.8.0
  • golang.org/x/term to v0.3.0
  • google.golang.org/grpc to v1.52.0
  • github.com/spf13/viper to v1.15.0
  • github.com/nats-io/nats.go to v1.22.1
  • github.com/TrueCloudLab/hrw to v.1.1.1
  • Minimum go version to v1.18

Updating from v0.35.0 (old NeoFS)

You need to change configuration environment variables to FROSTFS_* if you use any.

New config field object.delete.tombstone_lifetime allows to set tombstone lifetime more appropriate for a specific deployment.

Use __SYSTEM__ prefix for system attributes instead of __NEOFS__ (existed objects with old attributes will be treated as before, but for new objects new attributes will be used).

Older versions

This project is a fork of NeoFS from version v0.35.0. To see CHANGELOG for older versions, refer to https://github.com/nspcc-dev/neofs-node/blob/master/CHANGELOG.md.