f90a645594
[ #144 ] registry: Add tests for obj registry exporter
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-06-11 18:09:20 +03:00
3f67606f02
[ #144 ] registry: Fix string generator func in obj info test
...
`rune` is alias for `int32`. `randString()` used `rand.Int()`
which returns system-specific non-negative integer number. For
64-bit systems it will be int64. An attempt to cast `int64` to
`int32` (`rune`) leads the latter to be a negative number in
case of overflow. This caused the resulting string containing
unexpected symbols.
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-06-11 17:43:15 +03:00
3dd559a7b1
[ #139 ] Allow registry to export gRPC objects
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-06-04 15:05:52 +03:00
4aaa50c8ed
[ #141 ] registry: Use Batch() for all methods
...
Refs #136
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-30 15:33:32 +03:00
de61aef66e
[ #140 ] native,s3: Do not set Success
flag on hash mismatch
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-30 14:00:17 +03:00
31fac75743
[ #138 ] scenarios: Bump version for node
, s3-gw
, sdk-go
, neo-go
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-05-06 10:12:28 +03:00
e5af4112f9
[ #136 ] registry: Apply updates in batch
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-03 13:56:59 +03:00
87ffb551b6
[ #133 ] registry: Implement oneshot selector
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-04-05 13:43:01 +03:00
0a6e51ccc9
[ #131 ] registry: Gofumpt
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-03-20 11:41:03 +03:00
0c4e2665ba
[ #131 ] registry: Allow to create cycled/forward selectors
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-03-20 11:40:49 +03:00
e9edca3e79
[ #119 ] metrics: Refactor custom metrics
...
Add `data` metrics to measure payload rate.
Rename `total` metrics to `success`, because these metrics count
success operations count but not total operations count.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-26 10:39:26 +03:00
604982de3e
[ #119 ] metrics: Allow to add custom tags
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-01-26 10:31:54 +03:00
029af2a865
[ #114 ] local: Fix payload type after recent refactoring
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-24 16:15:24 +00:00
636a1e9290
[ #114 ] internal: Resolve linter issues
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-12 19:29:16 +03:00
d8af19cc83
[ #114 ] datagen: Remove calcHash parameter in GenPayload()
...
Hash calculation is now done on-demand with a method call.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-12 19:29:16 +03:00
4544ec616b
[ #114 ] datagen: Allow to generate streaming payloads
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-12 19:29:16 +03:00
74121bb387
[ #114 ] datagen: Refactor payload generation
...
Return an interface which can be converted to `io.Reader` as well as
report payload size and hash.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-12 19:29:16 +03:00
bc47d66316
[ #106 ] xk6: Allow to set max total size in local scenarios
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-15 14:07:35 +03:00
eeededfc18
[ #106 ] go.mod: Update frostfs-node version
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-12-14 11:35:09 +03:00
26f5262b3d
[ #90 ] Support config folder together with config file
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-10-25 16:48:29 +03:00
704c0f06bc
[ #25 ] selector: Remove next object timeout
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-20 15:01:57 +03:00
3c26e7c917
[ #25 ] xk6: Read objects from registry for gRPC tests
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-20 10:01:34 +03:00
50e2f55362
[ #80 ] Add dump registry util
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-07-19 15:57:39 +03:00
77d3dd8d6e
[ #80 ] Support parallel multipart
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-07-19 10:44:44 +03:00
ff6814e15d
[ #72 ] Add option --prepare-locally
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-07-07 13:16:54 +03:00
56235f5e90
[ #72 ] Update dependencies
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-07-06 12:14:52 +03:00
f633f9a64a
[ #79 ] client: Remove bufSize field
...
Use constant value instead.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-06 11:27:33 +03:00
42f1881580
[ #79 ] object put: Add chunk size parameter
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-06 11:27:33 +03:00
4972bb928e
[ #79 ] xk6: Update node and SDK-Go
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-05 15:37:06 +03:00
a1f5738d2f
[ #77 ] Use writecache in local scenarios
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-06-30 12:50:42 +00:00
ba04c682cb
[ #13 ] Allow to use english text in the payload
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-06-27 11:14:05 +00:00
1025e80f11
[ #65 ] go.mod: Update dependencies
...
See https://github.com/grafana/k6/pull/3075/ , it is not yet in any
release.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-24 11:41:02 +03:00
4aa9a359b5
[ #64 ] registry: Delete object from the old bucket
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-23 16:02:03 +03:00
5a1191a1ab
[ #20 ] Add pprof extension with support for cpu and mem
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-05-18 15:08:33 +00:00
e71ac35c36
[ #42 ] registry: Do not create selectors without status filters
...
Should allow to catch bugs in scenarios earlier.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-15 16:08:26 +03:00
b66b5a2f37
[ #42 ] registry: Optimize Count() for ObjSelector
...
It is the heaviest function executing on setup stage.
The culprit is the linear dependency between its execution
time and the amount of objects in registry. The solution is to store
object by status. While the optimization doesn't work for objects with
no status, it is currently provided by all scenarios.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-15 16:08:26 +03:00
22d7996f79
[ #42 ] registry: Optimize ObjectInfo
marshaling
...
1. Get rid of JSON in the database.
2. Store `CreatedAt` as int64. It decreases JSON marshaling time by
about ~25% with no changes for native scheme.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-15 16:08:26 +03:00
81b7d3f536
Check NOFILE limit before creating local storage engine
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-21 14:01:30 +03:00
5ab7cfed7c
[ #52 ] Add debug_logger flag to local scenarios
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-19 10:44:45 +03:00
de6747fc0f
[ #14 ] Add s3 local loader
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-04-13 13:00:38 +00:00
cea265a3f8
[ #43 ] generator: Fix initial payload generation
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-24 07:29:32 +00:00
7efb6315dc
[ #14 ]: Add local target support
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-03-23 11:58:11 +00:00
ed58333aba
[ #11 ] Support reading env variables from file
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-15 09:13:34 +03:00
b1f7b29848
[TrueCloudLab#22] datagen: Use local randomness source
...
`math/rand.Read` is deprecated.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-10 06:03:38 +00:00
e96d83549b
[TrueCloudLab#22] datagen: Allocate buffer once
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-10 06:03:38 +00:00
e82b1ebd1d
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 17:53:17 +03:00
4ea872d6c3
[ #9 ] logging: Make logger more functional
...
Previous iteration was bad, because `Logger` instance was shared and
endpoints in different VUs were overriding each other.
New interface is much better, it supports logger extension in any
context with arbitrary fields.
```
const l = logging.new().withFields({endpoint: "my endpoint"});
...
l.withField("cid", container).info("not found");
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-28 14:18:53 +03:00
4a2b01f5a4
[ #8 ] internal: Add full timestamp and endpoint to logs
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-03 17:12:26 +03:00
e52a315752
[ #50 ] Use native.connect
timeouts everywhere
...
Also, use defaults from the SDK itself, allow user to provide 0.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-03 17:12:26 +03:00
b24baf06ca
fix format %w
...
Signed-off-by: Andrey Berezin <a.berezin@yadro.com>
2023-01-11 20:10:57 +03:00