Evgenii Stratonikov
3fc8e0e08c
All checks were successful
DCO action / DCO (pull_request) Successful in 5m36s
Vulncheck / Vulncheck (pull_request) Successful in 6m51s
Build / Build Components (1.22) (pull_request) Successful in 8m20s
Build / Build Components (1.21) (pull_request) Successful in 8m27s
Tests and linters / Staticcheck (pull_request) Successful in 7m48s
Tests and linters / gopls check (pull_request) Successful in 8m19s
Tests and linters / Lint (pull_request) Successful in 9m55s
Tests and linters / Tests (1.21) (pull_request) Successful in 12m1s
Pre-commit hooks / Pre-commit (pull_request) Successful in 12m51s
Tests and linters / Tests (1.22) (pull_request) Successful in 12m51s
Tests and linters / Tests with -race (pull_request) Successful in 13m0s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
210 lines
8 KiB
Markdown
210 lines
8 KiB
Markdown
# Changelog
|
|
Changelog for FrostFS Node
|
|
|
|
## [Unreleased]
|
|
|
|
### Added
|
|
### Changed
|
|
### Fixed
|
|
### Removed
|
|
### Updated
|
|
|
|
## [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 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](https://github.com/nspcc-dev/neofs-node) from version v0.35.0.
|
|
To see CHANGELOG for older versions, refer to https://github.com/nspcc-dev/neofs-node/blob/master/CHANGELOG.md.
|
|
|
|
[Unreleased]: https://git.frostfs.info/TrueCloudLab/frostfs-node/compare/98e48b68514127afc291b8a8ff6b12838ed1cb5c...master
|