Commit Graph

2802 Commits (05b508f79a04dd8281b4137ee54313044b1b1a12)

Author SHA1 Message Date
Dmitrii Stepanov 05b508f79a [#772] proto: Fix file ending
DCO action / DCO (pull_request) Successful in 3m47s Details
Vulncheck / Vulncheck (pull_request) Successful in 4m47s Details
Build / Build Components (1.21) (pull_request) Successful in 6m5s Details
Build / Build Components (1.20) (pull_request) Successful in 6m13s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 13m9s Details
Tests and linters / Staticcheck (pull_request) Successful in 13m17s Details
Tests and linters / Lint (pull_request) Successful in 13m49s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 14m12s Details
Tests and linters / Tests with -race (pull_request) Successful in 4m30s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-31 17:03:04 +03:00
Dmitrii Stepanov 79088baa06 [#772] node: Apply gofumpt
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-31 17:03:03 +03:00
Evgenii Stratonikov 00aa6d9749 [#633] shard/test: Fix TestCounters()
Introduced in 362f24953a, forgotten to be changed because test
generator didn't provide payload size.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-31 12:53:28 +00:00
Evgenii Stratonikov b8f79f4227 [#633] shard/test: Fix race conditions in TestCounters()
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-31 12:53:28 +00:00
Evgenii Stratonikov 261d281154 [#762] go.mod: Update sdk-go
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-31 11:22:29 +00:00
Dmitrii Stepanov 869518be0a [#728] writecache: Fix Badger writecache race.
Build / Build Components (1.21) (pull_request) Successful in 1m47s Details
DCO action / DCO (pull_request) Successful in 2m1s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m5s Details
Build / Build Components (1.20) (pull_request) Successful in 3m58s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 5m43s Details
Tests and linters / Staticcheck (pull_request) Successful in 5m49s Details
Tests and linters / Lint (pull_request) Successful in 6m20s Details
Tests and linters / Tests with -race (pull_request) Successful in 6m8s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 3m6s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-30 18:36:41 +03:00
Dmitrii Stepanov d4b6ebe7e7 [#725] writecache: Fix metric values
DCO action / DCO (pull_request) Successful in 1m33s Details
Build / Build Components (1.21) (pull_request) Successful in 3m11s Details
Build / Build Components (1.20) (pull_request) Successful in 3m22s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m34s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 6m0s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 6m1s Details
Tests and linters / Staticcheck (pull_request) Successful in 6m4s Details
Tests and linters / Tests with -race (pull_request) Successful in 3m58s Details
Tests and linters / Lint (pull_request) Successful in 11m43s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-27 12:22:29 +03:00
Anton Nikiforov 121f5c4dd8 [#757] ir: Do not exclude node in maintenance mode from netmap
Build / Build Components (1.20) (pull_request) Successful in 6m20s Details
DCO action / DCO (pull_request) Successful in 6m45s Details
Vulncheck / Vulncheck (pull_request) Successful in 6m20s Details
Build / Build Components (1.21) (pull_request) Successful in 8m34s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 9m21s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 9m17s Details
Tests and linters / Staticcheck (pull_request) Successful in 9m15s Details
Tests and linters / Lint (pull_request) Successful in 9m42s Details
Tests and linters / Tests with -race (pull_request) Successful in 11m34s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-26 10:50:32 +03:00
Evgenii Stratonikov 9f7c2d8810 [#752] innerring: Simplify keyPosition()
DCO action / DCO (pull_request) Successful in 3m0s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m10s Details
Build / Build Components (1.20) (pull_request) Successful in 4m3s Details
Build / Build Components (1.21) (pull_request) Successful in 4m8s Details
Tests and linters / Staticcheck (pull_request) Successful in 5m13s Details
Tests and linters / Lint (pull_request) Successful in 5m44s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 7m0s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 7m7s Details
Tests and linters / Tests with -race (pull_request) Successful in 7m50s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-25 16:06:44 +03:00
Evgenii Stratonikov cddc58ace2 [#752] innerring: Optimize keyPosition()
```
goos: linux
goarch: amd64
pkg: git.frostfs.info/TrueCloudLab/frostfs-node/pkg/innerring
cpu: 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
              │      old       │                 new                 │
              │     sec/op     │   sec/op     vs base                │
KeyPosition-8   2771.50n ± 10%   40.32n ± 4%  -98.55% (p=0.000 n=10)

              │     old      │                  new                  │
              │     B/op     │     B/op      vs base                 │
KeyPosition-8   1.531Ki ± 0%   0.000Ki ± 0%  -100.00% (p=0.000 n=10)

              │    old     │                new                 │
              │ allocs/op  │ allocs/op  vs base                 │
KeyPosition-8   21.00 ± 0%   0.00 ± 0%  -100.00% (p=0.000 n=10)
```

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-25 16:06:44 +03:00
Evgenii Stratonikov 0a9830564f [#752] morph: Adopt neo-go RPC statuses
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-25 16:06:44 +03:00
Evgenii Stratonikov 6950312967 [#752] morph: Drop loop copy kludges
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-25 16:06:44 +03:00
Evgenii Stratonikov fe1acf9e9a [#750] morph: Remove deprecated channel use
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-25 07:57:05 +00:00
Anton Nikiforov 559ad58ab1 [#642] writecache: Remove usage of close channel in bbolt
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-24 15:57:50 +00:00
Anton Nikiforov c0b86f2d93 [#642] writecache: Remove usage of close channel in badger
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-24 15:57:50 +00:00
Anton Nikiforov b0cf100427 [#49] node: React on SIGHUP only when node in READY state
Add more info in logs when node is going to shut down,
but initialization process still in progress.

Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-24 15:55:29 +00:00
Airat Arifullin 58b6224dd8 [#747] client: Refactor PrmObjectPutInit usage
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-10-20 11:55:40 +00:00
Airat Arifullin 12b7cf2533 [#747] client: Refactor PrmObjectPutSingle usage
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-10-20 11:55:40 +00:00
Dmitrii Stepanov dc4d27201b [#733] morph: Fix delete container signature check
DCO action / DCO (pull_request) Successful in 3m26s Details
Vulncheck / Vulncheck (pull_request) Successful in 4m22s Details
Build / Build Components (1.21) (pull_request) Successful in 5m30s Details
Build / Build Components (1.20) (pull_request) Successful in 6m4s Details
Tests and linters / Staticcheck (pull_request) Successful in 6m52s Details
Tests and linters / Tests with -race (pull_request) Failing after 7m16s Details
Tests and linters / Lint (pull_request) Successful in 9m46s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 9m44s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 9m41s Details
Committed invalid condition, it was just for debug.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-19 18:07:37 +03:00
Dmitrii Stepanov 189dbb01be [#733] frostfs-cli: Add `control ir remove-container`
DCO action / DCO (pull_request) Successful in 3m51s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m49s Details
Build / Build Components (1.21) (pull_request) Successful in 4m34s Details
Build / Build Components (1.20) (pull_request) Successful in 6m21s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 9m1s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 9m12s Details
Tests and linters / Staticcheck (pull_request) Successful in 6m40s Details
Tests and linters / Tests with -race (pull_request) Successful in 9m21s Details
Tests and linters / Lint (pull_request) Successful in 9m39s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-19 16:22:18 +03:00
Dmitrii Stepanov f2437f7ae9 [#734] shard: Fix Delete method
DCO action / DCO (pull_request) Successful in 1m36s Details
Build / Build Components (1.20) (pull_request) Successful in 3m46s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m16s Details
Tests and linters / Staticcheck (pull_request) Successful in 4m42s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 6m27s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 6m35s Details
Tests and linters / Tests with -race (pull_request) Successful in 6m33s Details
Build / Build Components (1.21) (pull_request) Successful in 13m7s Details
Tests and linters / Lint (pull_request) Successful in 19m14s Details
Due to the flushing data from the writecache to the storage
and simultaneous deletion, a partial deletion situation is possible.
So as a solution, deletion is allowed only when the object is in storage,
because object will be deleted from writecache by flush goroutine.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-16 17:00:18 +03:00
Dmitrii Stepanov f26233b47a [#734] metabase: Include UpdateStorageID in metrics and traces
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-16 17:00:18 +03:00
Dmitrii Stepanov 7e0c5a55de [#734] writecache: Fix flush
Now UpdateStorageID doesn't return error in case of logical error.
If object is in graveyard or GC market, it is still required to
update storage ID.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-16 17:00:17 +03:00
Anton Nikiforov 3a997d1207 [#680] metrics: Initialize log metrics together with services
DCO action / DCO (pull_request) Successful in 3m31s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m17s Details
Build / Build Components (1.21) (pull_request) Successful in 3m56s Details
Tests and linters / Staticcheck (pull_request) Successful in 5m13s Details
Tests and linters / Lint (pull_request) Successful in 5m50s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 7m31s Details
Build / Build Components (1.20) (pull_request) Successful in 7m44s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 7m32s Details
Tests and linters / Tests with -race (pull_request) Successful in 7m33s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-11 17:08:03 +03:00
Anton Nikiforov 994f48f8bb [#680] metrics: Export log and morph with script
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-11 17:08:03 +03:00
Evgenii Stratonikov aca11d7474 [#735] policer: Allow to provide metrics from the outside
DCO action / DCO (pull_request) Successful in 3m9s Details
Vulncheck / Vulncheck (pull_request) Successful in 3m28s Details
Build / Build Components (1.21) (pull_request) Successful in 4m17s Details
Build / Build Components (1.20) (pull_request) Successful in 4m35s Details
Tests and linters / Lint (pull_request) Successful in 7m19s Details
Tests and linters / Tests with -race (pull_request) Failing after 9m47s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 8m0s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 11m19s Details
Tests and linters / Staticcheck (pull_request) Successful in 11m4s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-11 15:14:13 +03:00
Ekaterina Lebedeva 5e229dc248 [#701] metrics: add metric to evaluate policer performance
Add processed objects counter in policerMetrics,
add policer field to NodeMetrics

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-10-09 19:02:08 +00:00
Evgenii Stratonikov 4caa934eea [#729] containersvc: Remove load announcement
IR code was removed in 8879c6ea.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-09 19:01:13 +00:00
Dmitrii Stepanov d07afd803c [#726] writecache: Fix small object flush for Badger
DCO action / DCO (pull_request) Successful in 2m25s Details
Vulncheck / Vulncheck (pull_request) Successful in 2m41s Details
Build / Build Components (1.21) (pull_request) Successful in 3m2s Details
Build / Build Components (1.20) (pull_request) Successful in 3m17s Details
Tests and linters / Staticcheck (pull_request) Successful in 4m26s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 6m9s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 18m15s Details
Tests and linters / Lint (pull_request) Successful in 20m21s Details
Tests and linters / Tests with -race (pull_request) Successful in 18m2s Details
Do not marshal object twice.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-06 11:32:50 +03:00
Dmitrii Stepanov 997ac7cd8d [#726] writecache: Fix small object flush for BBolt
Do not marshal object twice.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-06 11:32:44 +03:00
Alexander Chuprov c1e4130020 [#146] node: Add trace_id to logs
Vulncheck / Vulncheck (pull_request) Successful in 3m7s Details
DCO action / DCO (pull_request) Successful in 3m36s Details
Build / Build Components (1.21) (pull_request) Successful in 3m29s Details
Build / Build Components (1.20) (pull_request) Successful in 3m37s Details
Tests and linters / Staticcheck (pull_request) Successful in 4m39s Details
Tests and linters / Lint (pull_request) Successful in 5m2s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 6m27s Details
Tests and linters / Tests with -race (pull_request) Successful in 6m29s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 9m19s Details
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2023-09-27 11:05:27 +03:00
Airat Arifullin 3889e829e6 [#667] writecache: Add logs for report error func in tests
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-09-14 17:02:54 +00:00
Evgenii Stratonikov c6af4a3ec8 [#679] engine: Do not increase error counter on meta mismatch
DCO action / DCO (pull_request) Successful in 1m43s Details
Vulncheck / Vulncheck (pull_request) Successful in 2m0s Details
Tests and linters / Staticcheck (pull_request) Successful in 2m54s Details
Build / Build Components (1.20) (pull_request) Successful in 2m49s Details
Build / Build Components (1.21) (pull_request) Successful in 2m44s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 3m43s Details
Tests and linters / Lint (pull_request) Successful in 3m58s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 23m28s Details
Tests and linters / Tests with -race (pull_request) Successful in 29m0s Details
It was introduced in 69e1e6ca to help node determine faulty shards.
However, the situation is possible in a real-life scenario:
1. Object O is evacuated from shard A to B.
2. Shard A is unmounted because of lower-level errors.
3. We now have object in meta on A and in blobstor on B. Technically we
   have it in meta on shard B too, but we still got the error if B goes
   to a degraded mode.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-14 10:39:18 +03:00
Ekaterina Lebedeva 8a81af5a3b [#653] Add context parameter to Open functions
DCO action / DCO (pull_request) Successful in 1m38s Details
Build / Build Components (1.20) (pull_request) Successful in 4m22s Details
Build / Build Components (1.21) (pull_request) Successful in 4m25s Details
Vulncheck / Vulncheck (pull_request) Successful in 4m56s Details
Tests and linters / Lint (pull_request) Successful in 6m1s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 7m43s Details
Tests and linters / Staticcheck (pull_request) Successful in 8m1s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 8m14s Details
Tests and linters / Tests with -race (pull_request) Successful in 8m32s Details
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-09-07 18:03:29 +03:00
Evgenii Stratonikov a716db99db [#668] shard/test: Do not alter rootPath option
Supposedly, this was added to allow creating 2 different shards without
subtest. Now we use t.TempDir() everywhere, so this should not be a
problem.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov 36759f8434 [#668] shard/test: Properly check event processing
See https://git.frostfs.info/TrueCloudLab/frostfs-node/actions/runs/1594/jobs/2

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov 39879fa868 [#668] shard/test: Add dontRelease options
Most of the time we would like to close shard with minor exceptions.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov c661ba1312 [#668] shard/test: Use sane defaults in the test constructor
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov 268adb79cb [#668] shard/test: Simplify shard construction
newCustomShard() has many parameters but only the first is obligatory.
`enableWriteCache` is left as-is, because it directly affects the
functionality.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov 429f941cda [#668] shard/test: Release shard in t.Cleanup()
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov 382eb8a485 [#668] shard/test: Disable GC where it is not needed
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov 42696016de [#668] shard: Close stopChannel in GC
It is done once, but now we could read it from multiple places.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov bdecfbc1be [#668] shard/test: Move tests to the main package
Semantic patch (also, duplicate definitions are removed):
```
@@
var e identifier
@@
-import "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard"

-shard.e
+e
```

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov aa23c6a83a [#668] shard/test: Remove subtest from TestCounters
Otherwise, individual tests cannot be run.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Evgenii Stratonikov da8f384324 [#668] shard/test: Fix typo in `existence`
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-07 07:39:39 +00:00
Anton Nikiforov aeeb8193d2 [#676] node: Fix header source creation when checking eacl
DCO action / DCO (pull_request) Successful in 2m55s Details
Build / Build Components (1.20) (pull_request) Successful in 4m53s Details
Vulncheck / Vulncheck (pull_request) Successful in 4m36s Details
Tests and linters / Staticcheck (pull_request) Successful in 6m35s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 7m7s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 7m47s Details
Tests and linters / Tests with -race (pull_request) Failing after 10m7s Details
Build / Build Components (1.21) (pull_request) Successful in 11m3s Details
Tests and linters / Lint (pull_request) Successful in 17m34s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-09-06 17:06:54 +03:00
Anton Nikiforov 88d50e4c77 [#656] policer: Add "bad" testcase
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-09-06 08:04:59 +00:00
Evgenii Stratonikov a54b4472de [#674] network: Close connections on address updates
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-04 15:34:24 +03:00
Dmitrii Stepanov 7456c8556a [#536] blobovnicza: Add blobovniczatree DB cache
DCO action / DCO (pull_request) Successful in 1m33s Details
Vulncheck / Vulncheck (pull_request) Successful in 2m43s Details
Build / Build Components (1.20) (pull_request) Successful in 3m40s Details
Tests and linters / Staticcheck (pull_request) Successful in 3m59s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 5m44s Details
Tests and linters / Tests (1.21) (pull_request) Successful in 6m3s Details
Tests and linters / Tests with -race (pull_request) Successful in 6m28s Details
Build / Build Components (1.21) (pull_request) Successful in 12m34s Details
Tests and linters / Lint (pull_request) Successful in 12m51s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-09-01 13:53:11 +03:00
Dmitrii Stepanov c672f59ab8 [#536] blobovnicza: Drop cache
Each blobovnicza instance is opened
while is in use.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-09-01 13:51:26 +03:00