frostfs-node/CHANGELOG.md

7.4 KiB

Changelog

Changelog for FrostFS Node

Unreleased

Added

Changed

Fixed

Removed

Updated

[v0.39.0]

Added

  • Preliminary erasure coding support (#1065, #1112, #1103, #1120)
  • TTL cache for blobovnicza tree (#1004)
  • Cache for frostfsid and policy contracts (#1117)
  • Writecache path to metric labels (#966)
  • Documentation for authentication mechanisms (#1097, #1104)
  • Metrics for metabase resync status (#1029)

Changed

  • Speed up metabase resync (#1024)

Fixed

  • Possible panic in GET_RANGE (#1077)

Updated

  • Minimum required Go version to 1.21

[v0.38.0]

Added

  • Add trace_id to logs in frostfs-node (#146)
  • Allow to forcefully remove container from IR (#733)
  • LOKI support (#740)
  • Allow sealing writecache (#569)
  • Support tree service in data evacuation (#947)
  • Use new policy engine mechanism for access control (#770, #804)
  • Log about active notary deposit waiting (#963)

Changed

  • Sort output in frostfs-cli subcommands (#333)
  • Send bootstrap query at each epoch tick (#721)
  • Do not retain garbage in fstree on systems supporting O_TMPFILE (#970)

Fixed

  • Handle synchronization failures better in tree service (#741)
  • Fix invalid batch size for iterator traversal in morph (#1000)

Updated

  • neo-go to v0.105.0

[v0.37.0]

Added

  • Support impersonate bearer token (#229)
  • Change log level on SIGHUP for ir (#125)
  • Reload pprof and metrics on SIGHUP for ir (#125)
  • Support copies number parameter in frostfs-cli object put (#351)
  • Set extra wallets on SIGHUP for ir (#125)
  • Writecache metrics (#312)
  • Add tree service metrics (#370)

Changed

  • frostfs-cli util locode generate is now much faster (#309)

Fixed

  • Take network settings into account during netmap contract update (#100)
  • Read config files from dir even if config file not provided via --config for node (#238)
  • Notary requests parsing according to neo-go's updates (#268)
  • Tree service panic in its internal client cache (#322)
  • Iterate over endpoints when create ws client in morph's constructor (#304)
  • Delete complex objects with GC (#332)

Removed

Updated

  • neo-go to v0.101.1
  • google.golang.org/grpc to v1.55.0
  • paulmach/orb to v0.9.2
  • go.etcd.io/bbolt to v1.3.7
  • github.com/nats-io/nats.go to v1.25.0
  • golang.org/x/sync to v0.2.0
  • golang.org/x/term to v0.8.0
  • github.com/spf13/cobra to v1.7.0
  • github.com/panjf2000/ants/v2 v2.7.4
  • github.com/multiformats/go-multiaddr to v0.9.0
  • github.com/hashicorp/golang-lru/v2 to v2.0.2
  • go.uber.org/atomic to v1.11.0
  • Minimum go version to v1.20
  • github.com/prometheus/client_golang to v1.15.1
  • github.com/prometheus/client_model to v0.4.0
  • go.opentelemetry.io/otel to v1.15.1
  • go.opentelemetry.io/otel/trace to v1.15.1
  • github.com/spf13/cast to v1.5.1
  • git.frostfs.info/TrueCloudLab/hrw to v1.2.1

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)
  • Multiple (and a fix for single) copies number support for PUT requests (#221)

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)
  • Failing SN and IR transactions because of incorrect scopes (#2230, #2263)
  • Global scope used for some transactions (#2230, #2263)
  • Concurrent morph cache misses (#30)

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.