33cefac665
[ #9999 ] quota: Add waiting request limit
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-20 12:13:07 +03:00
7d709b4228
[ #9999 ] quota: Add gRPC interceptors to set/extract IO tags
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-20 12:12:08 +03:00
ee1598e111
[ #9999 ] quota: Add context methods
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-17 13:13:27 +03:00
0cccf4751b
[ #9999 ] quota: Fix linter warnings
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-17 10:54:54 +03:00
c3aaa19cd1
[ #9999 ] quota: Add mclock scheduler closing
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-17 10:42:24 +03:00
1ffd4cb1ca
[ #9999 ] quota: Update benchmarks
...
Use reservation and limit slices.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-17 09:40:59 +03:00
df2dd8f721
[ #9999 ] quota: Add unit tests
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-17 09:40:59 +03:00
e70c195c17
[ #9999 ] quota: Simplify queue creation
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:57 +03:00
a53eb16a5a
[ #9999 ] quota: Add tag adjustment
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:57 +03:00
d221caf3e8
[ #9999 ] quota: Make mclock sync
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:56 +03:00
6de26ae851
[ #9999 ] quota: Add benchmarks
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:56 +03:00
09de5d70cc
[ #9999 ] quota: Concurrent mClock
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:55 +03:00
2f66f30e25
[ #9999 ] quota: Do not use reservation queue if reservation is not defined
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:55 +03:00
9eda612274
[ #9999 ] quota: Schedule many requests
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:46 +03:00
7256a12ff6
[ #9999 ] quota: Refactor mClock definitions
...
Use ts instead of tag.
Use tag instead of vm.
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:45 +03:00
4e6c58456d
[ #9999 ] Add mClock implementation
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 15:32:45 +03:00
6eccfdddf1
[ #9999 ] quota: Add limiter
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2025-01-14 11:26:20 +03:00
a9f27e074b
[ #1243 ] object: Look for X-Headers within origin before APE check
...
* X-Headers can be found in `origin` field of `MetaHeader` if the request
has been forwarded from non-container node.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2025-01-13 12:07:27 +00:00
6c51f48aab
[ #1596 ] metrics: Create public aliases for internal engine
metrics
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2025-01-13 10:05:01 +00:00
a2485637bb
[ #1593 ] node/config_example: Add description of morph/cache_ttl=0 behavior
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-01-10 15:13:10 +03:00
09faca034c
[ #1593 ] node: Fix initialization of frostfsid cache
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-01-10 15:01:36 +03:00
ceac1c8709
[ #1594 ] dev: Remove unused parameter 'FROSTFS_MORPH_INACTIVITY_TIMEOUT'
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-01-09 20:52:24 +03:00
f7e75b13b0
[ #1506 ] ape_manager: Await tx persist before returning response
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 12:04:21 +00:00
198aaebc94
[ #1506 ] morph: Simplify WaitTxHalt() signature
...
Avoid dependency on `morph/client` package because of `InvokeRes`.
Make signature resemble `WaitAny()` method of `waiter.Waiter` from neo-go.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 12:04:21 +00:00
85af6bcd5c
[ #1506 ] ape: Use contract reader in ListMorphRuleChains()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 12:04:21 +00:00
8a658de0b2
[ #1506 ] ape: Do not create cosigners slice on each contract invocation
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 12:04:21 +00:00
3900b92927
Revert "[ #1492 ] metabase: Ensure Unmarshal() is called on a cloned slice"
...
This reverts commit 8ed7a676d5
.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 14:34:20 +03:00
5ccb3394b4
[ #1592 ] go.mod: Update sdk-go
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 14:34:16 +03:00
dc410fca90
[ #1590 ] adm: Accept many accounts in proxy-*
commands
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 07:51:54 +00:00
cddcd73f04
[ #1590 ] adm: Make --account
flag required in proxy-*
commands
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2025-01-09 07:51:54 +00:00
d7fcc5ce30
[ #1586 ] objsvc: Allow to send search response in multiple messages
...
Previously, `ln` was only set once, so search has really worked for
small number of objects.
Fix panic:
```
panic: runtime error: slice bounds out of range [:43690] with capacity 21238
goroutine 6859775 [running]:
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object.(*searchStreamMsgSizeCtrl).Send(0xc001eec8d0, 0xc005734000)
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/transport_splitter.go:173 +0x1f0
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search/v2.(*streamWriter).WriteIDs(0xc000520320, {0xc00eb1a000, 0x4fd9c, 0x7fd6475a9a68?})
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search/v2/streamer.go:28 +0x155
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search.(*uniqueIDWriter).WriteIDs(0xc001386420, {0xc00eb1a000?, 0xc0013ea9c0?, 0x113eef3?})
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search/util.go:62 +0x202
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search.(*execCtx).writeIDList(0xc00011aa38?, {0xc00eb1a000?, 0xc001eec9f0?, 0xc0008f4380?})
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search/exec.go:68 +0x91
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search.(*execCtx).executeLocal(0xc0008f4380, {0x176c538, 0xc001eec9f0})
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search/local.go:18 +0x16b
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-28 12:29:22 +00:00
c0221d76e6
[ #1577 ] node/container: Fix typo
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-12-28 12:05:01 +03:00
242f0095d0
[ #1577 ] container: Reduce iterations through container list
...
* Separated iteration through container ids from `ContainersOf()`
so that it could be reused.
* When listing containers we used to iterate through the
the whole list of containers twice: first when reading from
a contract, then when sending them. Now we can send batches
of containers when reading from the contract.
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-12-27 15:30:26 +03:00
6fe34d266a
[ #1577 ] morph: Fix typo
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-12-27 14:03:19 +03:00
fa08bfa553
[ #1583 ] metabase/test: Update TestLisObjectsWithCursor
...
Update this test following recent changes to ensure
that `(*DB).ListWithCursor` skips expired objects.
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-12-26 14:39:50 +03:00
0da998ef50
[ #1583 ] metabase: Skip expired objects in ListWithCursor
...
Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
2024-12-26 14:39:49 +03:00
e44782473a
[ #1512 ] object: Fix writePart
for EC-container
...
* Immediatly return after `ObjectAlreadyRemoved` error.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-12-26 11:27:55 +00:00
9cd1bcef06
[ #1512 ] object: Make raw PutSingle
check status within response
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-12-26 11:27:55 +00:00
ca0a33ea0f
[ #465 ] objsvc: Set NETMAP_EPOCH xheader for auxiliary requests
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-26 09:17:58 +00:00
f6c5222952
[ #1581 ] services/session: Use user.ID.EncodeToString() where possible
...
gopatch:
```
@@
var id expression
@@
-base58.Encode(id.WalletBytes())
+id.EncodeToString()
```
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-25 18:09:36 +00:00
ea868e09f8
[ #1582 ] adm: Use int64 type and the default value for --till
flag
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-25 14:22:28 +03:00
31d3d299bf
[ #1582 ] adm: Unify promps for reading a password
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-25 14:22:28 +03:00
b5b4f78b49
[ #1582 ] adm: Allow using the default account in deposit-notary
...
It has never worked, actually.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-25 14:22:28 +03:00
2832f44437
[ #1531 ] metrics: Rename app_info
metric
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-12-23 10:40:18 +00:00
7c3bcb0f44
[ #1578 ] Makefile: Refill GAS with a single command in env-up
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-23 11:17:22 +03:00
e64871c3fd
[ #1578 ] adm: Allow to transfer GAS to multiple recepients
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-23 11:17:22 +03:00
303cd35a01
[ #1578 ] adm: Remove unnecessary comments in RefillGasCmd
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-23 11:17:22 +03:00
bb9ba1bce2
[ #1578 ] adm: Remove bool flag from refillGas()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-23 11:17:22 +03:00
db03742d33
[ #1578 ] adm: Reword help message for morph refill-gas
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-23 11:17:22 +03:00
148d68933b
[ #1573 ] node: Simplify bootstrapWithState()
...
After #1382 we have no need to use lambdas.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-12-20 08:17:05 +00:00