c60029d3b0
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>
4.5 KiB
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
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)
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)
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.