4c310ae1c7
[ #280 ] client: Use DialTimeout
for gRPC dial
...
After removing `grpc.Dial` from client `DialTimeout` used only if
custom dialer provided. Client uses `BalanceOf` instead of `grpc.Dial`,
so it is required to use `DialTimeout` to not to use RPC timeout.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-10-07 16:58:05 +03:00
997346ef95
[ #274 ] client/status: Add missing test cases for commom statuses
...
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-10-03 17:05:15 +03:00
7f6eda566a
[ #274 ] client/status: Fix check in TestNodeUnderMaintenance
test
...
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-10-03 17:05:15 +03:00
d00892f418
[ #274 ] client/status: Support INVALID_ARGUMENT status
...
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-10-03 17:05:08 +03:00
1b67ab9608
[ #275 ] client: Return status from all methods
...
Since status is checked first in handleError method, it should be returned from client methods
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-24 18:29:32 +03:00
6009d089fc
[ #270 ] client: Use RPC call instead of Dial
...
After api-go upgrade created client doesn't establish connection after created,
so RPC call is required to establish and check connection.
RPC call returns status error, so conversion from status error to context error
is required to satisfy Dial contract and unit tests.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2024-09-16 15:31:51 +03:00
d342c0bc16
[ #268 ] client: Make PayloadPatch
correctly receive empty patch payload
...
* Make the method `PatchPayload` send a patch with empty
payload patch if range's length is non-zero and if it's the
first call.
* Empty payload patches just cut original object payload. So, these
patches are also valid.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-09-12 15:12:52 +03:00
f0c599d06d
[ #268 ] client: Fix sequential PayloadPatch
calls
...
* The flag 'firstPayloadPatch' keeps its state after first
`PatchPayload` that make other calls incorrectly set patch
ranges.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-09-12 15:09:01 +03:00
8f751d9dd0
[ #263 ] go.mod: Update api-go
...
Remove `client.ContainerEACL` and related references. This change
was initiated by the removal of `ContainerService.GetExtendedACL`
from the API.
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-09-03 12:36:28 +03:00
3ba7446157
[ #249 ] client: Introduce ObjectPatch
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-08-08 18:26:35 +03:00
9da46f566f
[ #243 ] go.mod: Update api-go
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-07-26 14:13:49 +03:00
7e94a6adf2
[ #237 ] pool: Return creation epoch from object put
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-07-22 06:15:23 +00:00
1a5886e776
[ #228 ] client: Move isClientErrMaintenance from node
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-06-17 17:07:30 +03:00
dd23c6fd2b
[ #225 ] apemanager: Move apemanager
to ape
package
...
* Update go.mod;
* Fix packages;
* Fix client's `apemanager` methods.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-31 12:14:42 +00:00
b2ad1f3b3e
[ #215 ] client: Introduce apemanager rpc interface
...
* Introduce `APEManagerAddChain`, `APEManagerRemoveChain`, `APEManagerListChains`.
* Introduce reqeuest/response types for these handlers (Prm*, Res*).
* Inroduce status type for apemanager `APEManagerAccessDenied`; add unit-tests.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-05-14 10:59:52 +03:00
12ddefe078
[ #218 ] object: Implement Range\RangeHash
requests for EC object
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-05-02 11:01:21 +03:00
20ab57bf7e
[ #214 ] object: Implement Get\Head
requests for EC object
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-04-24 11:07:26 +03:00
1af9b6d18b
[ #155 ] sdk-go: Add buffer support for payloadSizeLimiter
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-03-25 10:47:04 +03:00
6f248436a5
[ #210 ] client/put_transformer: Fix error handling
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-03-19 15:36:51 +03:00
a5fab572ff
[ #206 ] Add session tokens for container read operations
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-03-01 15:18:53 +03:00
56debcfa56
[ #190 ] sdk-go: Gofumpt fixes
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-11-22 19:21:20 +03:00
157a9930e8
[ #190 ] sdk-go: Pass user.ID by value
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-11-22 19:21:20 +03:00
3787477133
[ #189 ] client: Make PrmDial fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-11-14 11:18:00 +03:00
e91d40e250
[ #189 ] client: Make PrmInit fields public for client
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-11-13 15:18:07 +03:00
a9237aabd2
[ #121 ] client: Make PrmObjectSearch fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-11-01 17:45:06 +03:00
a487033505
[ #121 ] client: Nuke out unused prmCommonMeta
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-10-31 22:55:25 +03:00
51c3618850
[ #121 ] client: Make PrmContainerList fields public
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-10-31 22:55:25 +03:00
670619d242
[ #131 ] client: keep backwards-compatibility, update README.md, fix chore
...
Signed-off-by: Egor Olefirenko <egor.olefirenko892@gmail.com>
2023-10-26 14:35:49 +00:00
0d79d10482
[ #131 ] client: rename option consistently and fix test
...
Signed-off-by: Egor Olefirenko <egor.olefirenko892@gmail.com>
2023-10-26 14:35:49 +00:00
9727beb47d
[ #131 ] client: Switch ResolveFrostFSFailures to DontResolveFrostFSFailures option
...
Signed-off-by: Egor Olefirenko <egor.olefirenko892@gmail.com>
2023-10-26 14:35:49 +00:00
84315fab6a
[ #121 ] client: Make PrmBalanceGet fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-10-23 18:53:14 +03:00
5804128ff3
[ #121 ] client: Make PrmObjectPutSingle fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-10-19 08:38:13 +00:00
aa12d8c6a6
[ #121 ] client: Make PrmObjectHash fields public
...
* Introduce buildRequest for PrmObjectHash
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-09-08 13:36:45 +00:00
55699d1480
[ #121 ] client: Make PrmSessionCreate fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-09-05 17:30:42 +03:00
55a1f23e71
[ #121 ] client: Make PrmEndpointInfo, PrmNetworkInfo fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-09-04 19:55:23 +03:00
291a71ba84
[ #121 ] client: Make PrmAnnounceSpace fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-09-04 19:53:34 +03:00
5a471e5002
[ #121 ] client: Make PrmObjectDelete fields public
...
* Introduce buildRequest for PrmObjectDelete
* Refactor the usage of these params in pool
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-09-04 14:14:22 +00:00
84e7e69f98
[ #121 ] client: Make PrmObjectGet/Head/GetRange fields public
...
* Remove common PrmObjectRead structure
* Introduce buildRequest for PrmObjectGet/Head/GetRange
* Refactor the usage of these params in pool
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-08-28 11:26:57 +03:00
22978303f8
[ #121 ] clientt: Make PrmContainerSetEACL fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-08-18 18:05:47 +03:00
3353940554
[ #121 ] client: Make PrmContainerEACL fields public
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2023-08-16 09:53:47 +00:00
548a81d3e6
[ #48 ] client: Refactor accounting.Balance()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-10 11:05:30 +00:00
6353df8bca
[ #142 ] Fix unwrapErr for go 1.20
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-08-05 15:58:25 +00:00
936e6d230b
[ #121 ] pool: Add wait params validation for containerPut method
...
* Add WaitParams.CheckValidity() check because SetWaitParams is deprecated,
but parameters were checked within this setter with checkForPositive()
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-08-05 15:58:14 +00:00
9e5faaf829
[ #121 ] client: Make PrmContainerDelete fields public
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-08-05 15:58:14 +00:00
3dc8129ed7
[ #135 ] Make all error status receivers pointers
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-08-04 08:35:01 +00:00
55c52c8d5d
[ #121 ] pool: Make PrmContainerGet fields public
...
* Also refactor client PrmContainerGet usage
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-08-03 10:54:13 +03:00
d376302a3b
[ #121 ] client: Make PrmContainerGet fields public
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-08-02 18:23:32 +03:00
13d0b170d2
[ #121 ] client: Make pool PrmContainerPut struct fields public
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-08-01 09:59:57 +00:00
18a9e4bceb
[ #121 ] client: Make PrmContainerPut struct fields public
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-08-01 09:59:57 +00:00
ecb1fef78c
[ #129 ] client: Do not override error status WriteObject()
...
Here is a scenario:
1. `resolveFrostFSErrors` is false.
2. The first object part was not written, which was signified in status.
3. The second part was written correctly.
Client now thinks that the object is written even though it was not.
In theory we could also return only status, but client-side splitting
is not a single RPC, so it makes sense.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-07-26 14:38:43 +03:00