Commit graph

5355 commits

Author SHA1 Message Date
d36afa31c7 [#1653] qos: Fix logging
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-03-11 10:57:47 +00:00
8643e0abc5
[#1668] writecache: Use object size to check free space
All checks were successful
DCO action / DCO (pull_request) Successful in 1m7s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m30s
Build / Build Components (pull_request) Successful in 1m56s
Vulncheck / Vulncheck (pull_request) Successful in 1m47s
Tests and linters / Run gofumpt (pull_request) Successful in 3m16s
Tests and linters / Lint (pull_request) Successful in 3m49s
Tests and linters / Staticcheck (pull_request) Successful in 3m49s
Tests and linters / Tests (pull_request) Successful in 3m59s
Tests and linters / gopls check (pull_request) Successful in 4m9s
Tests and linters / Tests with -race (pull_request) Successful in 4m40s
Pre-commit hooks / Pre-commit (push) Successful in 1m17s
Vulncheck / Vulncheck (push) Successful in 1m24s
Build / Build Components (push) Successful in 1m57s
Tests and linters / Run gofumpt (push) Successful in 2m37s
Tests and linters / Tests (push) Successful in 3m1s
Tests and linters / Staticcheck (push) Successful in 3m7s
Tests and linters / Lint (push) Successful in 3m11s
Tests and linters / gopls check (push) Successful in 3m14s
Tests and linters / Tests with -race (push) Successful in 3m25s
OCI image / Build container images (push) Successful in 4m54s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-03-10 17:52:57 +03:00
bd61f7bf0a [#1666] audit: Fix duplicated log in Patch method
All checks were successful
Vulncheck / Vulncheck (push) Successful in 1m17s
Pre-commit hooks / Pre-commit (push) Successful in 1m38s
Build / Build Components (push) Successful in 1m49s
Tests and linters / Run gofumpt (push) Successful in 2m10s
Tests and linters / Staticcheck (push) Successful in 2m21s
Tests and linters / Lint (push) Successful in 2m33s
Tests and linters / Tests with -race (push) Successful in 2m34s
Tests and linters / Tests (push) Successful in 2m59s
Tests and linters / gopls check (push) Successful in 3m1s
OCI image / Build container images (push) Successful in 4m12s
When we do `object patch` with audit enabled we get several
duplicated entries in logs.

`object patch` request is logged in 2 places:
1. `(*auditPatchStream) CloseAndRecv()` - when the client closes
   the request stream or when stream gets aborted.
2. `(*auditPatchStream) Send()` - when stream was NOT aborted.

`Send()` doesn't check if `err != nil` before logging.
It led to to logging on every `Send()` call.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2025-03-07 13:27:07 +00:00
df6d9da82a [#1635] cli: Add command to get object's shard info
All checks were successful
DCO action / DCO (pull_request) Successful in 30s
Tests and linters / Run gofumpt (pull_request) Successful in 29s
Vulncheck / Vulncheck (pull_request) Successful in 1m9s
Build / Build Components (pull_request) Successful in 1m34s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m0s
Tests and linters / Staticcheck (pull_request) Successful in 2m2s
Tests and linters / Tests (pull_request) Successful in 2m21s
Tests and linters / Lint (pull_request) Successful in 2m47s
Tests and linters / gopls check (pull_request) Successful in 2m55s
Tests and linters / Tests with -race (pull_request) Successful in 4m13s
Vulncheck / Vulncheck (push) Successful in 1m14s
Pre-commit hooks / Pre-commit (push) Successful in 1m42s
Build / Build Components (push) Successful in 1m53s
Tests and linters / Run gofumpt (push) Successful in 2m7s
Tests and linters / Lint (push) Successful in 2m19s
Tests and linters / Tests with -race (push) Successful in 2m18s
Tests and linters / Tests (push) Successful in 2m37s
Tests and linters / Staticcheck (push) Successful in 2m35s
Tests and linters / gopls check (push) Successful in 3m34s
OCI image / Build container images (push) Successful in 4m25s
Added `frostfs-cli object locate` subcommand. It lists info
about shards storing an object.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2025-03-07 14:32:01 +03:00
aab8addae0 [#1635] cli: Make object.readObjectAddress() public
This method will be useful for upcoming control command.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2025-03-07 14:32:01 +03:00
9e31cb249f [#1635] control: Add method to search shards by object
Added method `ListShardsForObject` to ControlService and to
StorageEngine. It returns information about shards storing
object on the node.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2025-03-07 14:32:01 +03:00
6260d703ce
[#1665] treesvc: Disable service config query
All checks were successful
DCO action / DCO (pull_request) Successful in 37s
Tests and linters / Run gofumpt (pull_request) Successful in 43s
Vulncheck / Vulncheck (pull_request) Successful in 1m33s
Build / Build Components (pull_request) Successful in 2m18s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m21s
Tests and linters / Tests (pull_request) Successful in 2m51s
Tests and linters / Staticcheck (pull_request) Successful in 2m46s
Tests and linters / gopls check (pull_request) Successful in 3m13s
Tests and linters / Tests with -race (pull_request) Successful in 3m24s
Tests and linters / Lint (pull_request) Successful in 3m35s
Vulncheck / Vulncheck (push) Successful in 58s
Pre-commit hooks / Pre-commit (push) Successful in 1m22s
Tests and linters / Staticcheck (push) Successful in 1m43s
Build / Build Components (push) Successful in 2m2s
Tests and linters / Tests (push) Successful in 2m25s
Tests and linters / Run gofumpt (push) Successful in 2m23s
Tests and linters / Lint (push) Successful in 2m31s
Tests and linters / gopls check (push) Successful in 3m22s
Tests and linters / Tests with -race (push) Successful in 3m43s
OCI image / Build container images (push) Successful in 4m24s
By default, gRPC fetches TXT report while resolving a domain.
0914bba6c5/internal/resolver/dns/dns_resolver.go (L336)

This leads to a hanging dial if DNS is unavailable, even though the host
may be specified in `/etc/hosts` (hello, localhost!).

SDK client for the main API uses these options by default.

Refs TrueCloudLab/frostfs-sdk-go#342

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-03-06 15:15:31 +03:00
a17c3356fa
[#1665] go.mod: Update sdk-go
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-03-06 15:15:31 +03:00
471aeeaff3 [#1659] audit: Fix duplicated request logs
All checks were successful
DCO action / DCO (pull_request) Successful in 56s
Vulncheck / Vulncheck (pull_request) Successful in 1m23s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m44s
Build / Build Components (pull_request) Successful in 2m9s
Tests and linters / Tests with -race (pull_request) Successful in 4m2s
Tests and linters / gopls check (pull_request) Successful in 4m7s
Tests and linters / Lint (pull_request) Successful in 4m40s
Tests and linters / Run gofumpt (pull_request) Successful in 4m38s
Tests and linters / Tests (pull_request) Successful in 5m1s
Tests and linters / Staticcheck (pull_request) Successful in 5m14s
Vulncheck / Vulncheck (push) Successful in 1m12s
Build / Build Components (push) Successful in 1m53s
Pre-commit hooks / Pre-commit (push) Successful in 2m5s
Tests and linters / Tests with -race (push) Successful in 4m25s
Tests and linters / gopls check (push) Successful in 4m28s
OCI image / Build container images (push) Successful in 4m41s
Tests and linters / Staticcheck (push) Successful in 5m11s
Tests and linters / Lint (push) Successful in 5m20s
Tests and linters / Tests (push) Successful in 5m28s
Tests and linters / Run gofumpt (push) Successful in 8m5s
When we do `object put` with audit enabled we get several entries
in logs: with and without object id.

`object put` request is logged in 2 places:
1. `(*auditPutStream) CloseAndRecv()` - when the client closes the
   request stream or when stream gets aborted.
2. `(*auditPutStream) Send()` - when stream was NOT aborted.

`Send()` does error check for `ErrAbortStream` because if there
is any other error - CloseAndRecv will not be called and there
won't be any audit log about failed request.
It led to logging on every object chunck put, even if `err == nil`.

Added check for `err != nil` in `Send()` to fix it.

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2025-03-06 12:36:16 +03:00
4c8f9580a1 [#1662] object: Fix CloseAndRecv for patch streamer
All checks were successful
DCO action / DCO (pull_request) Successful in 40s
Vulncheck / Vulncheck (pull_request) Successful in 1m4s
Build / Build Components (pull_request) Successful in 1m41s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m41s
Tests and linters / Run gofumpt (pull_request) Successful in 3m2s
Tests and linters / Lint (pull_request) Successful in 3m23s
Tests and linters / Staticcheck (pull_request) Successful in 3m22s
Tests and linters / Tests (pull_request) Successful in 3m44s
Tests and linters / gopls check (pull_request) Successful in 4m13s
Tests and linters / Tests with -race (pull_request) Successful in 4m13s
Vulncheck / Vulncheck (push) Successful in 1m19s
Pre-commit hooks / Pre-commit (push) Successful in 1m37s
Build / Build Components (push) Successful in 1m51s
Tests and linters / Run gofumpt (push) Successful in 2m48s
Tests and linters / Staticcheck (push) Successful in 3m6s
Tests and linters / Tests (push) Successful in 3m11s
Tests and linters / Lint (push) Successful in 3m12s
Tests and linters / Tests with -race (push) Successful in 3m30s
Tests and linters / gopls check (push) Successful in 4m16s
OCI image / Build container images (push) Successful in 5m25s
* A client may open stream to server, not send anything and close
  the open stream immediatly. This shouldn't cause a panic;
* Return the error if `s.patcher` is uninitialized. Uninitialized
  patcher cannot be closed, this causes a panic.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2025-03-05 17:16:10 +03:00
bf8914fedc [#1416] lens/explorer: Support metabase schema v3
All checks were successful
Vulncheck / Vulncheck (push) Successful in 1m15s
Pre-commit hooks / Pre-commit (push) Successful in 1m39s
Build / Build Components (push) Successful in 2m5s
Tests and linters / Run gofumpt (push) Successful in 2m46s
Tests and linters / Lint (push) Successful in 3m13s
Tests and linters / Staticcheck (push) Successful in 3m13s
Tests and linters / Tests (push) Successful in 3m23s
Tests and linters / Tests with -race (push) Successful in 3m40s
Tests and linters / gopls check (push) Successful in 3m52s
OCI image / Build container images (push) Successful in 4m34s
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-03-05 07:20:05 +00:00
5ba0e2918e
[#1661] cli: Clarify --rpc-endpoint values
All checks were successful
DCO action / DCO (pull_request) Successful in 45s
Vulncheck / Vulncheck (pull_request) Successful in 1m8s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m37s
Build / Build Components (pull_request) Successful in 1m46s
Tests and linters / Tests with -race (pull_request) Successful in 2m41s
Tests and linters / Staticcheck (pull_request) Successful in 2m55s
Tests and linters / Run gofumpt (pull_request) Successful in 2m58s
Tests and linters / Lint (pull_request) Successful in 3m5s
Tests and linters / Tests (pull_request) Successful in 3m29s
Tests and linters / gopls check (pull_request) Successful in 3m17s
Pre-commit hooks / Pre-commit (push) Successful in 1m25s
Vulncheck / Vulncheck (push) Successful in 1m18s
Build / Build Components (push) Successful in 1m57s
Tests and linters / Lint (push) Successful in 3m1s
Tests and linters / Run gofumpt (push) Successful in 2m54s
Tests and linters / Staticcheck (push) Successful in 3m0s
Tests and linters / Tests (push) Successful in 3m42s
Tests and linters / Tests with -race (push) Successful in 3m46s
Tests and linters / gopls check (push) Successful in 4m15s
OCI image / Build container images (push) Successful in 4m38s
`multiaddr` is not something an average user knows. Personally, I have
never used it in CLI. On the other hand, we need to connect with TLS quite often,
so it needs to be mentioned in help.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-03-04 10:19:49 +03:00
4685afb1dc
[#1636] engine: Validate limiter release in unit tests
All checks were successful
DCO action / DCO (pull_request) Successful in 33s
Vulncheck / Vulncheck (pull_request) Successful in 1m2s
Build / Build Components (pull_request) Successful in 1m24s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m26s
Tests and linters / Run gofumpt (pull_request) Successful in 2m53s
Tests and linters / Lint (pull_request) Successful in 3m4s
Tests and linters / Staticcheck (pull_request) Successful in 3m9s
Tests and linters / Tests (pull_request) Successful in 3m11s
Tests and linters / gopls check (pull_request) Successful in 3m43s
Tests and linters / Tests with -race (pull_request) Successful in 3m53s
Tests and linters / Run gofumpt (push) Successful in 34s
Vulncheck / Vulncheck (push) Successful in 1m7s
Pre-commit hooks / Pre-commit (push) Successful in 1m56s
Build / Build Components (push) Successful in 2m9s
Tests and linters / Staticcheck (push) Successful in 2m39s
Tests and linters / gopls check (push) Successful in 2m51s
Tests and linters / Tests (push) Successful in 3m17s
Tests and linters / Lint (push) Successful in 3m41s
Tests and linters / Tests with -race (push) Successful in 4m33s
OCI image / Build container images (push) Successful in 4m30s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:30 +03:00
eb8b9b2b3b
[#1636] blobovniczatree: Validate limiter release in rebuild unit tests
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:30 +03:00
6c6e463b73
[#1636] shard: Change ops limiter on shard reload
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:29 +03:00
401d96a89e
[#1636] config: Refactor newConfig and oldConfig
`newConfig` is actually target config to set config values from source
(which is called `oldConfig`).

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:29 +03:00
8ed71a969e
[#1636] qos: Add semaphore limiter
If no tags specified, then limiter could be optimized to use atomic semaphore.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:29 +03:00
c2d855aedd
[#1636] qos: Return Resource Exhausted error
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:28 +03:00
2162f8e189
[#1636] object: Fix IO tag adjustment for Put/Patch
There was no tag adjustment for CloseAndRecv.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:28 +03:00
b9360be1dc
[#1636] blobovniczatree: Use RebuildLimiter
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:27 +03:00
ceff5e1f6a
[#1636] storage: Refactor shard rebuild
Drop redundant interfaces.
Rename fields.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:27 +03:00
e0dc3c3d0c
[#1636] shard: Add limiter usage
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:26 +03:00
92a67a6716
[#1636] qos: Add Limiter
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:26 +03:00
98d6125029
[#1636] config: Add shard.limits config
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 17:25:25 +03:00
0991077cb3 [#1657] engine: Fix data race in evacuation tests
All checks were successful
Pre-commit hooks / Pre-commit (push) Successful in 1m23s
Vulncheck / Vulncheck (push) Successful in 1m3s
Build / Build Components (push) Successful in 1m52s
Tests and linters / Run gofumpt (push) Successful in 2m29s
Tests and linters / Tests with -race (push) Successful in 2m47s
Tests and linters / Lint (push) Successful in 3m4s
Tests and linters / Staticcheck (push) Successful in 3m0s
Tests and linters / gopls check (push) Successful in 3m11s
Tests and linters / Tests (push) Successful in 3m30s
OCI image / Build container images (push) Successful in 4m41s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-28 14:14:12 +00:00
c660271039
[#1658] node: Validate RPC limiter configuration
Some checks failed
DCO action / DCO (pull_request) Successful in 34s
Vulncheck / Vulncheck (pull_request) Successful in 1m1s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m24s
Build / Build Components (pull_request) Successful in 1m29s
Tests and linters / Run gofumpt (pull_request) Successful in 2m20s
Tests and linters / Tests (pull_request) Successful in 2m29s
Tests and linters / Lint (pull_request) Successful in 2m33s
Tests and linters / Staticcheck (pull_request) Successful in 2m36s
Tests and linters / Tests with -race (pull_request) Successful in 3m20s
Tests and linters / gopls check (pull_request) Successful in 3m42s
Build / Build Components (push) Has been cancelled
Vulncheck / Vulncheck (push) Successful in 1m0s
OCI image / Build container images (push) Has been cancelled
Pre-commit hooks / Pre-commit (push) Successful in 1m24s
Tests and linters / Lint (push) Has been cancelled
Tests and linters / Tests (push) Has been cancelled
Tests and linters / Tests with -race (push) Has been cancelled
Tests and linters / Staticcheck (push) Has been cancelled
Tests and linters / Run gofumpt (push) Has been cancelled
Tests and linters / gopls check (push) Has been cancelled
Validate that configured limits match the methods registered earlier.

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 16:31:47 +03:00
92ab58984b
[#1658] node: Simplify RPC limiter initialization
- Move all initialization logic to one place
- Initialize the limiter after all RPC services are registered to be able
  to validate that configured limits match the methods registered earlier

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 16:24:33 +03:00
dae0949f6e [#1639] node: Support active RPC limiting
All checks were successful
Vulncheck / Vulncheck (push) Successful in 1m10s
Pre-commit hooks / Pre-commit (push) Successful in 1m34s
Build / Build Components (push) Successful in 2m15s
Tests and linters / Tests with -race (push) Successful in 2m32s
Tests and linters / Run gofumpt (push) Successful in 2m33s
Tests and linters / gopls check (push) Successful in 2m37s
Tests and linters / Tests (push) Successful in 2m49s
Tests and linters / Lint (push) Successful in 2m51s
Tests and linters / Staticcheck (push) Successful in 2m57s
OCI image / Build container images (push) Successful in 5m12s
- Allow configuration of active RPC limits for method groups
- Apply RPC limiting for all services except the control service

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 11:08:09 +00:00
5590886599 [#1639] qos: Add interceptors for limiting active RPCs
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 11:08:09 +00:00
f0b2017057 [#1639] go.mod: Update sdk-go and qos
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 11:08:09 +00:00
dce269c62e [#1639] services/object: Remove limiting pools for Put operation
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 11:08:09 +00:00
a97bded440 [#1639] config: Separate replicator.pool_size from other settings
Separated `replicator.pool_size` and `object.put.remote_pool_size` settings.

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-28 11:08:09 +00:00
9a0507704a [#1651] apemanager: Wrap some errors with InvalidArgument status
All checks were successful
Vulncheck / Vulncheck (push) Successful in 1m12s
Pre-commit hooks / Pre-commit (push) Successful in 1m28s
Build / Build Components (push) Successful in 1m49s
Tests and linters / Run gofumpt (push) Successful in 3m11s
Tests and linters / Staticcheck (push) Successful in 3m32s
Tests and linters / Lint (push) Successful in 3m37s
Tests and linters / Tests with -race (push) Successful in 3m39s
Tests and linters / Tests (push) Successful in 4m0s
Tests and linters / gopls check (push) Successful in 4m11s
OCI image / Build container images (push) Successful in 4m29s
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2025-02-27 18:25:09 +00:00
2ff032db90 [#1654] adm: Get 'gasInitialTotalSupply' from network
All checks were successful
Vulncheck / Vulncheck (push) Successful in 1m1s
Pre-commit hooks / Pre-commit (push) Successful in 1m22s
Build / Build Components (push) Successful in 1m56s
Tests and linters / Run gofumpt (push) Successful in 3m24s
Tests and linters / Tests (push) Successful in 3m29s
Tests and linters / Staticcheck (push) Successful in 3m34s
Tests and linters / Lint (push) Successful in 3m38s
Tests and linters / Tests with -race (push) Successful in 4m14s
Tests and linters / gopls check (push) Successful in 4m16s
OCI image / Build container images (push) Successful in 5m4s
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-27 11:57:45 +00:00
37972a91c1 [#1654] adm: Make 'morph-init' idempotent
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-27 11:57:45 +00:00
003d568ae2
[#1628] innerring: Relax container homomorphic hashing check
All checks were successful
DCO action / DCO (pull_request) Successful in 39s
Vulncheck / Vulncheck (pull_request) Successful in 1m2s
Build / Build Components (pull_request) Successful in 1m26s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m27s
Tests and linters / Run gofumpt (pull_request) Successful in 3m1s
Tests and linters / Tests (pull_request) Successful in 3m23s
Tests and linters / Lint (pull_request) Successful in 3m26s
Tests and linters / Staticcheck (pull_request) Successful in 3m22s
Tests and linters / Tests with -race (pull_request) Successful in 3m53s
Tests and linters / gopls check (pull_request) Successful in 4m4s
Vulncheck / Vulncheck (push) Successful in 1m1s
Pre-commit hooks / Pre-commit (push) Successful in 1m23s
Build / Build Components (push) Successful in 2m13s
Tests and linters / Tests (push) Successful in 3m27s
Tests and linters / Run gofumpt (push) Successful in 3m23s
Tests and linters / Tests with -race (push) Successful in 3m51s
Tests and linters / gopls check (push) Successful in 4m6s
OCI image / Build container images (push) Successful in 4m41s
Tests and linters / Staticcheck (push) Successful in 6m39s
Tests and linters / Lint (push) Successful in 6m42s
Our initial desire was to prohibit using homomorphic hashing on the
network level because of the resource consumption. However, the ability
to use it, doesn't mean that we must. So only fail validation if
container wants to have homomorphic hashing, but the network prohibits
it.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-02-27 10:20:08 +03:00
b2adf1109e
[#1646] cli: Use Cmp() functions for ID-like structs
All checks were successful
DCO action / DCO (pull_request) Successful in 37s
Vulncheck / Vulncheck (pull_request) Successful in 52s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m23s
Build / Build Components (pull_request) Successful in 1m30s
Tests and linters / Run gofumpt (pull_request) Successful in 2m10s
Tests and linters / Lint (pull_request) Successful in 2m26s
Tests and linters / Tests (pull_request) Successful in 2m32s
Tests and linters / Staticcheck (pull_request) Successful in 2m42s
Tests and linters / Tests with -race (pull_request) Successful in 3m49s
Tests and linters / gopls check (pull_request) Successful in 3m47s
Vulncheck / Vulncheck (push) Successful in 1m15s
Build / Build Components (push) Successful in 1m49s
Pre-commit hooks / Pre-commit (push) Successful in 1m55s
Tests and linters / Run gofumpt (push) Successful in 2m58s
Tests and linters / Tests (push) Successful in 3m12s
Tests and linters / Lint (push) Successful in 3m21s
Tests and linters / Staticcheck (push) Successful in 3m22s
Tests and linters / Tests with -race (push) Successful in 3m50s
Tests and linters / gopls check (push) Successful in 3m49s
OCI image / Build container images (push) Successful in 4m41s
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-20 12:27:07 +03:00
02f3a7f65c
[#1648] writecache: Fix race condition when reporting cache size metrics
All checks were successful
Vulncheck / Vulncheck (push) Successful in 1m2s
Build / Build Components (push) Successful in 1m53s
Pre-commit hooks / Pre-commit (push) Successful in 2m7s
Tests and linters / Run gofumpt (push) Successful in 2m45s
Tests and linters / Tests with -race (push) Successful in 3m17s
Tests and linters / Lint (push) Successful in 3m20s
Tests and linters / gopls check (push) Successful in 3m15s
Tests and linters / Staticcheck (push) Successful in 3m21s
Tests and linters / Tests (push) Successful in 3m37s
OCI image / Build container images (push) Successful in 4m37s
DCO action / DCO (pull_request) Successful in 28s
Vulncheck / Vulncheck (pull_request) Successful in 50s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m28s
Build / Build Components (pull_request) Successful in 1m38s
Tests and linters / Run gofumpt (pull_request) Successful in 3m0s
Tests and linters / Tests with -race (pull_request) Successful in 3m10s
Tests and linters / Tests (pull_request) Successful in 3m14s
Tests and linters / Lint (pull_request) Successful in 3m21s
Tests and linters / Staticcheck (pull_request) Successful in 3m21s
Tests and linters / gopls check (pull_request) Successful in 3m34s
There is a race condition when multiple cache operation try to report
the cache size metrics simultaneously. Consider the following example:
- the initial total size of objects stored in the cache size is 2
- worker X deletes an object and reads the cache size, which is 1
- worker Y deletes an object and reads the cache size, which is 0
- worker Y reports the cache size it learnt, which is 0
- worker X reports the cache size it learnt, which is 1

As a result, the observed cache size is 1 (i. e. one object remains
in the cache), which is incorrect because the actual cache size is 0.

To fix this, let's report the metrics periodically in the flush loop.

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2025-02-19 17:05:40 +03:00
9b29e7392f
[#1647] go.mod: Bump frostfs-sdk-go version
All checks were successful
DCO action / DCO (pull_request) Successful in 45s
Tests and linters / Run gofumpt (pull_request) Successful in 42s
Vulncheck / Vulncheck (pull_request) Successful in 52s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m27s
Build / Build Components (pull_request) Successful in 1m49s
Tests and linters / Tests (pull_request) Successful in 2m27s
Tests and linters / Staticcheck (pull_request) Successful in 2m26s
Tests and linters / Lint (pull_request) Successful in 3m7s
Tests and linters / gopls check (pull_request) Successful in 3m10s
Tests and linters / Tests with -race (pull_request) Successful in 4m2s
Vulncheck / Vulncheck (push) Successful in 57s
Pre-commit hooks / Pre-commit (push) Successful in 1m36s
Build / Build Components (push) Successful in 1m58s
Tests and linters / Run gofumpt (push) Successful in 1m53s
Tests and linters / Staticcheck (push) Successful in 2m4s
Tests and linters / Tests (push) Successful in 2m17s
Tests and linters / gopls check (push) Successful in 2m30s
Tests and linters / Lint (push) Successful in 3m23s
Tests and linters / Tests with -race (push) Successful in 4m47s
OCI image / Build container images (push) Successful in 4m56s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-18 09:39:43 +03:00
fe0cf86dc6
[#1643] go.mod: Bump frostfs-observability version
All checks were successful
DCO action / DCO (pull_request) Successful in 50s
Tests and linters / Run gofumpt (pull_request) Successful in 34s
Vulncheck / Vulncheck (pull_request) Successful in 1m27s
Build / Build Components (pull_request) Successful in 1m56s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m6s
Tests and linters / Staticcheck (pull_request) Successful in 2m28s
Tests and linters / Tests (pull_request) Successful in 2m37s
Tests and linters / Lint (pull_request) Successful in 3m5s
Tests and linters / gopls check (pull_request) Successful in 3m7s
Tests and linters / Tests with -race (pull_request) Successful in 3m28s
Vulncheck / Vulncheck (push) Successful in 1m8s
Build / Build Components (push) Successful in 1m55s
Pre-commit hooks / Pre-commit (push) Successful in 1m55s
Tests and linters / Run gofumpt (push) Successful in 1m49s
Tests and linters / Staticcheck (push) Successful in 2m24s
Tests and linters / Tests with -race (push) Successful in 2m35s
Tests and linters / Tests (push) Successful in 2m40s
Tests and linters / Lint (push) Successful in 3m8s
Tests and linters / gopls check (push) Successful in 3m44s
OCI image / Build container images (push) Successful in 4m32s
To add `grpc_client_msg_send_handling_seconds` metric.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-12 15:39:29 +03:00
1bcaa1af1f [#1641] govulncheck: Fix minor toolchain updates for good
All checks were successful
Vulncheck / Vulncheck (push) Successful in 57s
Pre-commit hooks / Pre-commit (push) Successful in 1m28s
Tests and linters / Run gofumpt (push) Successful in 1m25s
Build / Build Components (push) Successful in 2m3s
Tests and linters / Staticcheck (push) Successful in 2m24s
Tests and linters / Lint (push) Successful in 3m16s
OCI image / Build container images (push) Successful in 4m21s
Tests and linters / Tests (push) Successful in 4m39s
Tests and linters / Tests with -race (push) Successful in 5m12s
Tests and linters / gopls check (push) Successful in 5m19s
Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-02-11 14:02:23 +00:00
304bee938b
[#1614] adm/nns: Add 'set-admin'
All checks were successful
DCO action / DCO (pull_request) Successful in 37s
Vulncheck / Vulncheck (pull_request) Successful in 52s
Tests and linters / Run gofumpt (pull_request) Successful in 1m19s
Build / Build Components (pull_request) Successful in 1m29s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m40s
Tests and linters / Staticcheck (pull_request) Successful in 2m12s
Tests and linters / Lint (pull_request) Successful in 3m2s
Tests and linters / Tests (pull_request) Successful in 4m42s
Tests and linters / Tests with -race (pull_request) Successful in 5m0s
Tests and linters / gopls check (pull_request) Successful in 5m19s
Vulncheck / Vulncheck (push) Successful in 59s
Tests and linters / Run gofumpt (push) Successful in 1m25s
Pre-commit hooks / Pre-commit (push) Successful in 1m33s
Build / Build Components (push) Successful in 2m4s
Tests and linters / Staticcheck (push) Successful in 2m22s
Tests and linters / Lint (push) Successful in 3m17s
OCI image / Build container images (push) Successful in 4m16s
Tests and linters / Tests (push) Successful in 4m45s
Tests and linters / gopls check (push) Successful in 5m35s
Tests and linters / Tests with -race (push) Successful in 5m38s
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-11 12:00:51 +03:00
b2163ff44c
[#1614] adm: Allow use any wallets
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-11 12:00:25 +03:00
076952f4c7
[#1614] adm/frostfsid: Add 'delete-kv'
All checks were successful
DCO action / DCO (pull_request) Successful in 44s
Vulncheck / Vulncheck (pull_request) Successful in 1m2s
Build / Build Components (pull_request) Successful in 1m36s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m37s
Tests and linters / gopls check (pull_request) Successful in 2m40s
Tests and linters / Tests with -race (pull_request) Successful in 3m15s
Tests and linters / Lint (pull_request) Successful in 4m33s
Tests and linters / Staticcheck (pull_request) Successful in 4m39s
Tests and linters / Run gofumpt (pull_request) Successful in 4m41s
Tests and linters / Tests (pull_request) Successful in 4m50s
Vulncheck / Vulncheck (push) Successful in 1m10s
Tests and linters / Run gofumpt (push) Successful in 1m23s
Pre-commit hooks / Pre-commit (push) Successful in 1m41s
Build / Build Components (push) Successful in 1m55s
Tests and linters / Staticcheck (push) Successful in 2m21s
Tests and linters / Lint (push) Successful in 3m9s
OCI image / Build container images (push) Successful in 4m19s
Tests and linters / Tests with -race (push) Successful in 5m17s
Tests and linters / Tests (push) Successful in 5m19s
Tests and linters / gopls check (push) Successful in 5m29s
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-10 15:28:29 +03:00
a7145ca9bf
[#1614] adm/frostfsid: Add 'set-kv'
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-02-10 15:26:12 +03:00
5d79abe523
[#1608] shard: Add IO tag for rebuild
All checks were successful
DCO action / DCO (pull_request) Successful in 44s
Vulncheck / Vulncheck (pull_request) Successful in 1m3s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m32s
Build / Build Components (pull_request) Successful in 1m40s
Tests and linters / Staticcheck (pull_request) Successful in 2m53s
Tests and linters / Tests with -race (pull_request) Successful in 3m10s
Tests and linters / Run gofumpt (pull_request) Successful in 3m10s
Tests and linters / Lint (pull_request) Successful in 3m42s
Tests and linters / Tests (pull_request) Successful in 4m13s
Tests and linters / gopls check (pull_request) Successful in 4m21s
Vulncheck / Vulncheck (push) Successful in 1m6s
Pre-commit hooks / Pre-commit (push) Successful in 1m30s
Build / Build Components (push) Successful in 2m8s
Tests and linters / Staticcheck (push) Successful in 2m54s
Tests and linters / Run gofumpt (push) Successful in 3m42s
Tests and linters / Lint (push) Successful in 3m53s
Tests and linters / gopls check (push) Successful in 4m3s
Tests and linters / Tests (push) Successful in 3m28s
OCI image / Build container images (push) Successful in 4m24s
Tests and linters / Tests with -race (push) Successful in 4m59s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-07 15:43:07 +03:00
0671c277db
[#1608] tree: Add IO tag for tree sync requests
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-07 15:43:06 +03:00
92450a76ba
[#1608] shard: Add IO tag to GC
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-07 15:43:06 +03:00
abba5b2089
[#1608] writecache: Add IO tag to flush worker
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-07 15:43:06 +03:00
fd0c6c461d
[#1608] cli: Drop redundant interceptors
There is no metrics or IO tags in cli.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-02-07 15:43:05 +03:00