forked from TrueCloudLab/frostfs-node
9.6 KiB
9.6 KiB
Changelog
Changelog for FrostFS Node
Unreleased
Added
Changed
Fixed
Removed
Updated
[v0.44.0] - 2024-25-11 - Rongbuk
Added
- Allow to prioritize nodes during GET traversal via attributes (#1439)
- Add metrics for the frostfsid cache (#1464)
- Customize constant attributes attached to every tracing span (#1488)
- Manage additional keys in the
frostfsid
contract (#1505) - Describe
--rule
flag in detail forfrostfs-cli ape-manager
subcommands (#1519)
Changed
- Support richer interaction with the console in
frostfs-cli container policy-playground
(#1396) - Print address in base58 format in
frostfs-adm morph policy set-admin
(#1515)
Fixed
- Fix EC object search (#1408)
- Fix EC object put when one of the nodes is unavailable (#1427)
Removed
- Drop most of the eACL-related code (#1425)
- Remove
--basic-acl
flag fromfrostfs-cli container create
(#1483)
Upgrading from v0.43.0
The metabase schema has changed completely, resync is required.
[v0.42.0]
Added
- Add audit logs for gRPC requests (#1184)
- Add CLI command to convert eACL to APE (#1189)
- Add
--await
flag tocontrol set-status
(#60) app_info
metric for binary version (#1154)--quiet
flag for healthcheck command (#1209)
Changed
- Deprecate Container.SetEACL RPC (#1219)
Fixed
- Take groups into account during APE processing (#1190)
- Handle double SIGHUP correctly (#1145)
- Handle empty filenames in tree listing (#1074)
- Handle duplicate tree nodes in the split-brain scenario (#1234, #1251)
- Remove APE pre-check in Object.GET/HEAD/RANGE RPC (#1249)
- Delete EC gc marks and split info (#1257)
- Do not search for non-existent objects on deletion (#1261)
Updated
- Make putting EC chunks more robust (#1233)
[v0.41.0]
Added
- Support mTLS for morph client (#1170)
Fixed
- Update shard state metric during shard init (#1174)
- Handle ENOSPC in blobovnicza (#1166)
- Handle multiple split-infos for EC objects (#1163)
- Set
Disabled
mode as the default for components (#1168)
[v0.40.0]
Added
- Support EC chunk reconstruction in policer (#1129)
- Support LOCK, DELETE and SEARCH methods on EC objects (#1147, 1144)
- apemanager service to manage APE chains (#1105)
Fixed
- Properly verify GetRangeHash response (#1083)
- Send
MONOTONIC_USEC
in sdnotify on reload (#1135)
Updated
- neo-go to
v0.106.0
[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 infrostfs-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
tov0.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
tov0.101.1
google.golang.org/grpc
tov1.55.0
paulmach/orb
tov0.9.2
go.etcd.io/bbolt
tov1.3.7
github.com/nats-io/nats.go
tov1.25.0
golang.org/x/sync
tov0.2.0
golang.org/x/term
tov0.8.0
github.com/spf13/cobra
tov1.7.0
github.com/panjf2000/ants/v2
v2.7.4
github.com/multiformats/go-multiaddr
tov0.9.0
github.com/hashicorp/golang-lru/v2
tov2.0.2
go.uber.org/atomic
tov1.11.0
- Minimum go version to v1.20
github.com/prometheus/client_golang
tov1.15.1
github.com/prometheus/client_model
tov0.4.0
go.opentelemetry.io/otel
tov1.15.1
go.opentelemetry.io/otel/trace
tov1.15.1
github.com/spf13/cast
tov1.5.1
git.frostfs.info/TrueCloudLab/hrw
tov1.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
andnns-zone
for commandfrostfs-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 viacobra.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 forfrostfs-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
andupdate-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
tov0.100.1
github.com/klauspost/compress
tov1.15.13
github.com/multiformats/go-multiaddr
tov0.8.0
golang.org/x/term
tov0.3.0
google.golang.org/grpc
tov1.52.0
github.com/spf13/viper
tov1.15.0
github.com/nats-io/nats.go
tov1.22.1
github.com/TrueCloudLab/hrw
tov.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.