Alex Vanin
c80c83b0b8
[ #948 ] metabase: Simplify cursor structure
...
Use bbolt bucket keys to seek offset in root bucket
and container buckets.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
468caa83d9
[ #948 ] Adopt sdk-go client
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
08bdd0d561
[ #948 ] engine: Fix comments of object listing with cursor
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
aa9ce8a853
[ #948 ] engine: Define cursor for object listing as a type
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
164cd10af8
[ #948 ] engine: Hide shard IDs in ListWithCursor
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
0f6d8f6eea
[ #948 ] metabase: Use seek for faster cursor listing
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
8d471c7e36
[ #948 ] core/object: Move listing objects error to core
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
c02c7bee5b
[ #948 ] engine: Add ListWithCursor method
...
Interface for shard.ListWithCursor invocations.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
5b6be7bc1c
[ #948 ] engine: Fix test file path
...
Before: `<t.Name()>.<id>.blobstor`
After: `<t.Name()>/<id>.blobstor`
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
1950724a04
[ #948 ] shard: Add ListWithCursor method
...
Interface for metabase.ListWithCursor method invocation.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Alex Vanin
1a829a521f
[ #948 ] metabase: Add ListWithCursor method
...
ListWithCursor allows listing physically stored objects
from metabase with small chunks. Cursor tracks last
processed object, therefore new chunks are returned
on each request.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-19 16:57:19 +03:00
Pavel Karpy
60e3ea978f
[ #971 ] *: Group all 3rd parties imports
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
7ac3145980
[ #971 ] *: Add optional parameters to audit morph client calls
...
Adapt all audit wrapper calls to new
structures.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
8a2f5c980b
[ #971 ] morph/audit: Add optional parameters
...
Add optional parameters to the client call
signature.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
ed4810a020
[ #971 ] *: Add optional parameters to balance morph client calls
...
Adapt all balance wrapper calls to new
structures.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
644baf4985
[ #971 ] morph/balance: Add optional parameters
...
Add optional parameters to the client call
signature.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
dbf3a2f2fb
[ #971 ] *: Add optional parameters to container morph client calls
...
Adapt all container wrapper calls to new
structures.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
af33dd65b2
[ #971 ] morph/container: Add optional parameters
...
Add optional parameters to the client call
signature.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
822d73fb02
[ #971 ] *: Add notification TX hash to neofsid morph client calls
...
Add hash of the TX that generated notification
to neofsid event structures. Adapt all
neofsid wrapper calls to new structures.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
404c62c5c4
[ #971 ] morph/neofsid: Add optional parameters
...
Add optional parameters to the client call
signature.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
bad739258e
[ #971 ] *: Add notification TX hash to neofs/netmap morph client calls
...
Add hash of the TX that generated notification
to neofs/netmap event structures. Adapt all
neofs/netmap wrapper calls to new structures.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
c25f5a86ae
[ #971 ] morph/netmap: Add optional parameters
...
Add optional parameters to the client call
signature. Group parameters of a client call
into struct to improve future codebase
support.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
3114be39d0
[ #971 ] morph/neofs: Add optional parameters
...
Add optional parameters to the client call
signature. Group parameters of a client call
into struct to improve future codebase
support.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
1db6d316c2
[ #971 ] morph/client: Adapt signature changes in wrappers
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
3849d13e0b
[ #971 ] morph/client: Group Invoke
and TestInvoke
params
...
Also:
- add `validUntilBlock` and nonce calculation;
- pass notification hashes to notary calls.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
8e1f187822
[ #971 ] ir: Drop CLI validators voting functionality
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
c167ae26f9
[ #971 ] morph/event: Change notification parser's signature
...
Parsers should have original notification
structure to be able to construct internal
event structure that contains necessary
for unique nonce calculation information.
So notification parsers take raw notification
structure instead of slice of stack items.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Pavel Karpy
3666ae7ad2
[ #971 ] morph/subscriber: Adapt extended notification structure
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-19 09:58:03 +03:00
Alex Vanin
c9f2804885
[ #976 ] innerring: Ignore non-HALT netmap.AddPeer notary invocations
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-18 09:57:16 +03:00
Alex Vanin
93dce149ba
[ #976 ] morph/client: Add script verifier
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-18 09:57:16 +03:00
Alex Vanin
cb36f8b50e
[ #868 ] blobstor: Speed up compression test
...
Compression test does not require wide blobovnicza tree.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-16 13:35:34 +03:00
Evgenii Stratonikov
aba09bb853
[ #903 ] config: support floating-point sizes
...
Rounding is done using the suffix boundary (i.e. floating point value
with `gb` suffix will return size which is an integer number of
megabytes).
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-16 12:43:55 +03:00
Evgenii Stratonikov
e7fd980951
[ #859 ] config: rename writecache.size_limit
to writecache.capacity
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Evgenii Stratonikov
c015b04ed5
[ #859 ] config: rename shallow_*
to width
and depth
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Evgenii Stratonikov
684e3e0ae0
[ #859 ] config: rename mem_size
to memcache_capacity
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Evgenii Stratonikov
a180f09523
[ #859 ] config: rename max_size
to max_object_size
...
`_size` suffix by itself makes me think about restrictions on database
size.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Evgenii Stratonikov
da51c119d5
[ #859 ] config: rename opened_cache_size
to opened_cache_capacity
...
Capacity is a common term to use with cache, see e.g. leveldb
configuration.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Evgenii Stratonikov
0759d8d0e5
[ #859 ] config: rename small_size_limit
to small_object_size
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Evgenii Stratonikov
cbf8ca12b0
[ #859 ] config: rename refill_metabase
to resync_metabase
...
This flag enables metabase content synchronization with blobstor on
start.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 13:14:24 +03:00
Alex Vanin
e4087893a1
[ #966 ] engine: Fix test after neofs-api-go replacement
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-15 13:06:10 +03:00
Alex Vanin
9a4d4c03b7
[ #918 ] config/testnet: Add control service endpoint
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-11-15 13:06:10 +03:00
Leonard Lyubich
68a454fc56
[ #969 ] config/example: Add note about shard config in relay node
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-15 06:47:25 +03:00
Leonard Lyubich
fb89d29574
[ #969 ] node: Do not require shard config in relay mode
...
Relay storage node doesn't exec local object operations, so it doesn't need
shard configuration.
Add `required` bool parameter to `engineconfig.IterateShards`. Make it to
panic if it is `true`, and immediately return otherwise. Pass `false` if
node is configured as relay in app (it also prevents panic).
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-15 06:47:25 +03:00
Evgenii Stratonikov
95893927aa
*: replace neofs-api-go with neofs-sdk-go
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-12 17:29:09 +03:00
Leonard Lyubich
6c0b29e3e3
[ #922 ] storage engine: Prevent any operations after first Close call
...
Make `BlockExecution` / `ResumeExecution` to not release per-shard worker
pools. Make `StorageEngine.Close` to block these methods and any
data-related operations. It is still releases the pools.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-12 17:28:38 +03:00
Leonard Lyubich
d6457ee485
[ #922 ] shard: Allow multiple gc.stop() calls
...
Use `sync.Once` to prevent locks of stopping GC. It will also allow to
safely call `Shard.Close` multiple times.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-12 17:28:38 +03:00
Leonard Lyubich
10f0bd91d6
[ #922 ] engine: Change interface of container operations
...
Add `error` to return. Improve docs.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-12 17:28:38 +03:00
Leonard Lyubich
a537334f33
[ #922 ] engine: Fix typos and improve naming related to exec blocks
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-12 17:28:38 +03:00
Leonard Lyubich
6b1ce99c35
[ #922 ] node: Block data ops of storage engine via Control API
...
There is a need to block execution of local object storage operations if
node is put into maintenance mode (resume if the node is taken out of
maintenance mode).
Call `BlockExecution` method if `ControlService.SetNetmapStatus` was called
with `MAINTENANCE` status. Call `ResumeExecution` if it was called with
another status.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-12 17:28:38 +03:00
Leonard Lyubich
29644e9bc2
[ #922 ] cli: Support MAINTENANCE netmap status
...
Accept `maintenance` netmap status in `control set-status` command and
resolve it to `control.NetmapStatus_MAINTENANCE` value.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-12 17:28:38 +03:00