Commit Graph

125 Commits (master)

Author SHA1 Message Date
Airat Arifullin 2f6d3209e1 [#84] object: Regenerate EC-header type
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-30 15:28:26 +00:00
Airat Arifullin 0803bc6ded [#83] object: Regenerate protobufs for `ECHeader`
Tests and linters / Tests (1.19) (pull_request) Successful in 11m59s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 12m5s Details
DCO action / DCO (pull_request) Successful in 12m27s Details
Tests and linters / Tests with -race (pull_request) Successful in 12m25s Details
Tests and linters / Lint (pull_request) Successful in 12m52s Details
* Fix marshalers and converters;
* Fix unit-tests.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-16 16:31:03 +03:00
Airat Arifullin 4fe42ac4ad [#82] object: Add `FilterHeaderECParent` filter for v2
DCO action / DCO (pull_request) Successful in 1m0s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m20s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m30s Details
Tests and linters / Lint (pull_request) Successful in 1m53s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m49s Details
* `FilterHeaderECParent` is used by `Object.Search`

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-13 17:03:55 +03:00
Airat Arifullin 063ce11c24 [#82] object: Erase field `Signature` from `ECHeader` v2 type
DCO action / DCO (pull_request) Successful in 1m17s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m45s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m58s Details
Tests and linters / Lint (pull_request) Successful in 2m6s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m9s Details
* The field `Signature` is not used and should be factored out.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-08 15:09:16 +03:00
Airat Arifullin bc7b49eed2 [#82] object: Introduce new fields for EC header
* Regenerate protobufs as frostfs-api introduced `parent_split_id` and
  `parent_split_index` fields.
* Fix marshaller and converter for EC header.
* Extend v2 type `ECHeader` with `ParentSplitID` and `ParentSplitIndex` fields.
* Fix message_test for `Object`. Also generate EC headers and check it.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-08 15:09:12 +03:00
Evgenii Stratonikov 0fe6b9adbb [#76] Make setter names more consistent
DCO action / DCO (pull_request) Successful in 1m2s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m33s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m38s Details
Tests and linters / Lint (pull_request) Successful in 1m46s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m44s Details
This will make the transition to a new codegen more seamless.
1. Setter should be named as the field itself.
2. Setter should accept 1 parameter.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-05-03 08:52:04 +03:00
Anton Nikiforov 67c6f305b2 [#79] object: Implement `Range\RangeHash` requests for EC object
DCO action / DCO (pull_request) Successful in 1m16s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m37s Details
Tests and linters / Lint (pull_request) Successful in 1m56s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 2m9s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m2s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-04-27 23:04:46 +03:00
Anton Nikiforov df9b65324a [#73] object: Implement `Get\Head` requests for EC object
DCO action / DCO (pull_request) Successful in 45s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m13s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m27s Details
Tests and linters / Lint (pull_request) Successful in 1m35s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m58s Details
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-04-22 18:14:50 +03:00
Airat Arifullin 6e9d385f3c [#71] container: Introduce CONTAINER_ACCESS_DENIED status
DCO action / DCO (pull_request) Successful in 1m19s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m56s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 2m2s Details
Tests and linters / Lint (pull_request) Successful in 2m12s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m28s Details
* Regenerate protobufs for object and container service to
  use a new frostfs-api status CONTAINER_ACCESS_DENIED.

Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-03-26 18:55:05 +03:00
Evgenii Stratonikov 1772b92182 [#69] object: Initial EC implementation
DCO action / DCO (pull_request) Successful in 1m7s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m37s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m33s Details
Tests and linters / Lint (pull_request) Successful in 1m46s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m45s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-03-19 15:23:01 +03:00
Evgenii Stratonikov a85146250b [#68] Makefile: Use gofumpt for formatting
DCO action / DCO (pull_request) Successful in 1m17s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 2m22s Details
Tests and linters / Lint (pull_request) Successful in 2m51s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 2m48s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m40s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-03-14 10:31:58 +03:00
Dmitrii Stepanov 634e24aba7 [#65] object: Fix SetMarshalData for PutSingle request
DCO action / DCO (pull_request) Successful in 1m11s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m25s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m33s Details
Tests and linters / Tests with -race (pull_request) Successful in 1m56s Details
Tests and linters / Lint (pull_request) Successful in 1m14s Details
Allow to reset marshal data

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-02-15 15:44:01 +03:00
Dmitrii Stepanov 2a124b95bc [#64] object: Allow to reset marshal data
DCO action / DCO (pull_request) Successful in 58s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m24s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m32s Details
Tests and linters / Lint (pull_request) Successful in 1m43s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m5s Details
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-02-15 14:47:28 +03:00
Dmitrii Stepanov f50872f1bc [#58] object: Allow to set marshal data
Now it is possible set marshaled data to reduce memory
allocations.

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-10-31 13:47:48 +03:00
Evgenii Stratonikov 17bed735a1 [#20] Update api version
DCO action / DCO (pull_request) Successful in 1m14s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 1m39s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 1m42s Details
Tests and linters / Lint (pull_request) Successful in 1m57s Details
Tests and linters / Tests with -race (pull_request) Successful in 2m5s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-17 11:10:12 +03:00
Evgenii Stratonikov d989c8d2a3 [#54] *: Fix linter warnings
DCO action / DCO (pull_request) Successful in 2m25s Details
Tests and linters / Tests (1.20) (pull_request) Successful in 3m19s Details
Tests and linters / Tests with -race (pull_request) Successful in 4m42s Details
Tests and linters / Tests (1.19) (pull_request) Successful in 5m29s Details
Tests and linters / Lint (pull_request) Successful in 5m53s Details
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-11 15:21:27 +03:00
Dmitrii Stepanov d5b55d0926 [#45] api-go: Add PutSingle response wrappers
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-04 12:27:42 +03:00
Dmitrii Stepanov 2cb57a8835 [#45] api-go: Add PutSingle request wrappers
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-04 12:27:42 +03:00
Dmitrii Stepanov b17995a238 [#45] api-go: Add Object.PutSingle implementation
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-07-04 12:27:42 +03:00
Evgenii Stratonikov 1cab39337e [#27] object: Resolve funlen linter warnings
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-03 14:15:56 +03:00
Evgenii Stratonikov 63915bb7a5 [#27] *: Resolve godot linter warnings
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-03 14:15:56 +03:00
Pavel Karpy d9347a05f0 [#21] *: Drop reputation system
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2023-04-17 15:46:52 +03:00
Evgenii Stratonikov 5f318f0b75 Revert "Revert "[#16] container, object: Regenerate service comments""
This reverts commit b02ec516e72fbc9030d6dc71f956e23ac93c54da.
2023-04-11 11:07:13 +03:00
Evgenii Stratonikov 3b938873cc Revert "Revert "[#16] object: Allow set `copy_number` for every placement vector""
This reverts commit 4a34188c9ef4b7404e1abaac5f72d1c302d322e7.
2023-04-11 11:07:13 +03:00
Evgenii Stratonikov dbcd514748 Revert "[#16] object: Allow set `copy_number` for every placement vector"
This reverts commit e022a2b831.
2023-04-11 11:06:08 +03:00
Evgenii Stratonikov d9c5b9c90e Revert "[#16] container, object: Regenerate service comments"
This reverts commit e6522d62a8.
2023-04-11 11:06:08 +03:00
Pavel Karpy e6522d62a8 [#16] container, object: Regenerate service comments
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2023-04-07 15:32:05 +03:00
Pavel Karpy e022a2b831 [#16] object: Allow set `copy_number` for every placement vector
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2023-04-07 15:30:11 +03:00
Denis Kirillov 9dc3753467 [#13] *: Rename __FROSTFS__ prefix to __SYSTEM__
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-15 12:52:36 +03:00
Denis Kirillov 8009022a20 [#13] *: Regenerate api
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-15 12:52:28 +03:00
Denis Kirillov cd2e46a17c [#10] Add __FROSTFS__ system attributes
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-13 09:59:22 +03:00
Denis Kirillov c46cd37f71 [#10] Generate api
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-13 09:59:22 +03:00
Alexey Vanin f69d2ad83c Rename package name
Due to source code relocation from GitHub.

Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 13:42:36 +03:00
Evgenii Stratonikov 1351b6656d Move to frostfs-api
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-12 17:40:48 +03:00
Leonard Lyubich 5fc2644c68 [#416] session: Support new format of object session context
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-10-04 18:29:57 +04:00
Leonard Lyubich cf868188ef [#418] netmap: Support `NetmapService.NetmapSnapshot` RPC
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-19 16:44:34 +04:00
Evgenii Stratonikov ea7a3811bf [#415] *: Add maintenance status and node state
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-16 18:50:53 +04:00
Evgenii Stratonikov 1853349f22 [#415] *: Go fmt -s
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-16 18:50:53 +04:00
Leonard Lyubich cdce7edc39 Release v2.13.0 - Yeonpyeongdo (연평도, 延坪島)
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-07-04 17:49:02 +03:00
Pavel Karpy 417fd3a08b [#407] object: Add `OUT_OF_RANGE` status
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-30 08:19:57 +03:00
Pavel Karpy f9a91e5f33 [#404] *: Regenerate code after language fixes
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-21 14:08:31 +03:00
Leonard Lyubich c82dcf7e16 [#401] internal: Place randomization code in random package
Also replace seeding into `init` function.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-30 22:02:58 +03:00
Leonard Lyubich 02e962f727 [#401] object: Fix `GetRangeResponseBody.FromGRPCMessage`
Pass `SplitInfo` field of `GetRangeResponse_Body_SplitInfo` message into
`SplitInfo` decoder.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-30 22:02:58 +03:00
Leonard Lyubich d35e935a9d [#401] test: Randomize value for `oneof` field
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-30 22:02:58 +03:00
Evgenii Stratonikov 94f068e462 *: remove error from `StableMarshal` return values
We marshal only in-memory structures, no error is expected.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
Evgenii Stratonikov 84d981e88e util/proto: do not return error from primitive marshalers
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
Evgenii Stratonikov 732dd51b1b [#388] *: Remove nil check from setters
I knew one day `sed` would save me an hour of manual work:
```
sed -i -n -e '
s/) Set/) Set/
p
t setter
b end
:setter
    n
    s/nil/nil/
    t hasif
    p
    b end
    :hasif
        n
        :loop
        p
        n
        s/}/}/
        t end
        b loop
        :end
' $@
goimports -w $@
```

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-31 11:32:04 +03:00
Evgenii Stratonikov 43fd3cfb4f [#376] status: Remove pointer from `Detail` slice
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-15 12:19:49 +03:00
Evgenii Stratonikov aa1e092ca5 [#376] object: Remove pointer from slices
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-15 12:19:49 +03:00
Evgenii Stratonikov 84daaf59ef [#376] refs: Replace []*ObjectID with []ObjectID
```
ObjectIDSlice/0_elements/to_grpc_message-8       5.64ns ± 2%    5.89ns ± 4%   +4.56%  (p=0.000 n=10+10)
ObjectIDSlice/0_elements/from_grpc_message-8     6.68ns ± 3%    6.81ns ± 8%     ~     (p=0.143 n=10+10)
ObjectIDSlice/0_elements/marshal-8               7.41ns ± 3%    7.91ns ± 4%   +6.63%  (p=0.000 n=10+10)
ObjectIDSlice/1_elements/to_grpc_message-8       69.8ns ± 3%    80.5ns ± 7%  +15.39%  (p=0.000 n=10+10)
ObjectIDSlice/1_elements/from_grpc_message-8     56.4ns ± 6%    34.7ns ± 5%  -38.55%  (p=0.000 n=10+9)
ObjectIDSlice/1_elements/marshal-8               68.4ns ± 4%    67.6ns ± 4%     ~     (p=0.404 n=10+10)
ObjectIDSlice/50_elements/to_grpc_message-8      2.52µs ± 7%    2.56µs ± 4%     ~     (p=0.315 n=10+9)
ObjectIDSlice/50_elements/from_grpc_message-8    1.83µs ± 8%    0.44µs ± 1%  -75.73%  (p=0.000 n=10+8)
ObjectIDSlice/50_elements/marshal-8              2.32µs ±17%    2.22µs ± 3%     ~     (p=0.247 n=10+10)

name                                           old alloc/op   new alloc/op   delta
ObjectIDSlice/0_elements/to_grpc_message-8        0.00B          0.00B          ~     (all equal)
ObjectIDSlice/0_elements/from_grpc_message-8      0.00B          0.00B          ~     (all equal)
ObjectIDSlice/0_elements/marshal-8                0.00B          0.00B          ~     (all equal)
ObjectIDSlice/1_elements/to_grpc_message-8        72.0B ± 0%     72.0B ± 0%     ~     (all equal)
ObjectIDSlice/1_elements/from_grpc_message-8      32.0B ± 0%     24.0B ± 0%  -25.00%  (p=0.000 n=10+10)
ObjectIDSlice/1_elements/marshal-8                48.0B ± 0%     48.0B ± 0%     ~     (all equal)
ObjectIDSlice/50_elements/to_grpc_message-8      3.62kB ± 0%    3.62kB ± 0%     ~     (all equal)
ObjectIDSlice/50_elements/from_grpc_message-8    1.62kB ± 0%    1.28kB ± 0%  -20.79%  (p=0.000 n=10+10)
ObjectIDSlice/50_elements/marshal-8              2.05kB ± 0%    2.05kB ± 0%     ~     (all equal)

name                                           old allocs/op  new allocs/op  delta
ObjectIDSlice/0_elements/to_grpc_message-8         0.00           0.00          ~     (all equal)
ObjectIDSlice/0_elements/from_grpc_message-8       0.00           0.00          ~     (all equal)
ObjectIDSlice/0_elements/marshal-8                 0.00           0.00          ~     (all equal)
ObjectIDSlice/1_elements/to_grpc_message-8         2.00 ± 0%      2.00 ± 0%     ~     (all equal)
ObjectIDSlice/1_elements/from_grpc_message-8       2.00 ± 0%      1.00 ± 0%  -50.00%  (p=0.000 n=10+10)
ObjectIDSlice/1_elements/marshal-8                 1.00 ± 0%      1.00 ± 0%     ~     (all equal)
ObjectIDSlice/50_elements/to_grpc_message-8        51.0 ± 0%      51.0 ± 0%     ~     (all equal)
ObjectIDSlice/50_elements/from_grpc_message-8      51.0 ± 0%       1.0 ± 0%  -98.04%  (p=0.000 n=10+10)
ObjectIDSlice/50_elements/marshal-8                1.00 ± 0%      1.00 ± 0%     ~     (all equal)
```

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-15 12:19:49 +03:00