a02c0bfac8
[ #186 ] netmap: Marshal policy with brackets
...
DCO / DCO (pull_request) Successful in 1m14s
Tests and linters / Tests (1.21) (pull_request) Successful in 1m34s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m47s
Tests and linters / Lint (pull_request) Successful in 2m52s
Brackets can be semantically important and must not be omitted,
otherwise the output is plain wrong.
We do not take the responsibility to preserve every bracket, though,
because parser does some optimizations related to grouping long chains
of filters combined with the same operation.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-27 10:54:45 +03:00
20d325e307
[ #167 ] netmap: Fix reverse min agregator
...
The higher the price, the lower reverse min weight should be.
Previously nodes with 0 price had 0 weight which is a bit misleading.
Introduced in d71a0e0755
.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-27 07:53:19 +00:00
d71a0e0755
[ #88 ] netmap: use bool, fix hrw_sort tests
...
Signed-off-by: Andrew Danilin <andnilin@gmail.com>
2023-10-03 07:05:03 +00:00
163b3e1961
[ #88 ] netmap: fix min aggregator bug, add tests
...
Signed-off-by: Andrew Danilin <andnilin@gmail.com>
2023-10-03 07:05:03 +00:00
555ccc63b2
[ #167 ] netmap: Allow to select insufficient number of nodes
...
DCO / DCO (pull_request) Successful in 57s
Tests and linters / Lint (pull_request) Successful in 2m31s
Tests and linters / Tests (1.19) (pull_request) Successful in 3m22s
Tests and linters / Tests (1.20) (pull_request) Successful in 5m5s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-15 14:47:54 +03:00
0550438b53
[ #167 ] netmap/tests: Add replica to invalid tests
...
Make sure we fail exactly because of the reason specified.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-15 14:33:44 +03:00
c899163860
[ #167 ] netmap/tests: Add json file name to the test output
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-15 14:33:44 +03:00
ac8fc6d440
[ #162 ] netmap: Allow to parse single unnamed selectors
...
DCO / DCO (pull_request) Successful in 1m6s
Tests and linters / Tests (1.19) (pull_request) Successful in 1m38s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m34s
Tests and linters / Lint (pull_request) Successful in 5m27s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-11 15:22:24 +03:00
4df642e941
[ #162 ] netmap: Fix possible panic
...
Placement policy is unvalidated external input.
Under no circumstances should we panic here.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-11 15:19:56 +03:00
49ad985cad
[ #161 ] *: Do not use math/rand.Read()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-08 17:17:02 +03:00
b5fe52d6bd
[ #150 ] policy: Check for redundant selectors and filters
...
DCO / DCO (pull_request) Successful in 43s
Tests and linters / Lint (pull_request) Successful in 1m17s
Tests and linters / Tests (1.19) (pull_request) Successful in 1m21s
Tests and linters / Tests (1.20) (pull_request) Successful in 1m22s
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-08-29 14:16:57 +03:00
b91f9d8c79
[#xx] Add support for SELECT-FILTER expressions
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-07-17 10:29:48 +00:00
998fe1a7ab
[ #102 ] netmap: properly process multiple REP
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-07-11 14:21:35 +00:00
14ed3e177d
[ #104 ] nemtap: Escape special symbols in filters
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-07-07 09:33:00 +00:00
fe28c33277
[ #104 ] netmap: Add test with quote escaping
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-07-07 09:33:00 +00:00
5d62cef27e
[ #98 ] Fix linter issues
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-06-28 12:13:02 +00:00
fcbf96add6
[ #76 ] Add UNIQUE keyword
...
Signed-off-by: Alejandro Lopez <a.lopez@yadro.com>
2023-06-06 13:54:07 +03:00
4f48f6c9e0
[ #78 ] netmap: Add new keywords NOT and UNIQUE
...
* Add the rule for NOT operation to the policy parser grammar
* Regenerate query parse
* Implement NOT in filter
* Add unit-tests
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-06-02 17:47:20 +03:00
030ff2f122
[ #87 ] netmap: Add benchmark for ContainerNodes()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-06-02 14:54:40 +03:00
0f7455ff7a
[ #75 ] Update antlr4 version to 4.13.0
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-06-01 13:15:11 +00:00
f5b23eb225
[ #74 ] netmap/parser: Update antlr4 generator
...
Also, add -no-listener option, as we use visitor only.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-05-19 17:47:24 +03:00
9a072a8f49
[ #68 ] Replace interface{} with any
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-05-15 17:21:49 +03:00
7c75db2f2d
[ #59 ] netmap: Remove unused param from getSelection()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-04-18 14:11:04 +00:00
Pavel Karpy
d0c5d837d2
[ #56 ] *: Drop reputation system
...
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2023-04-18 07:52:16 +00:00
c8e620ad24
[ #53 ] sdk-go: Drop subnet
...
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-04-14 16:31:08 +03:00
31271ad8b1
[ #47 ] netmap: Make PlacementPolicy.WriteStringTo() pass nofunlen, cogognit
...
REP statement is obligatory, thus insert newline before each statement
after REP.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-04-07 08:59:19 +03:00
708d933fe3
[ #47 ] .golangci.yml: Unify with other FrostFS repos
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-04-07 08:59:19 +03:00
df2090c2be
[ #37 ] netmap: Update tests for new sys attributes
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-16 11:14:36 +03:00
b761fd8070
[ #23 ] pre-commit: Add initial configuration
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-09 22:52:51 +03:00
94476f9055
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 15:47:21 +03:00
d4f5bba459
[ #2 ] Update lint config, fix lint errors
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-03-01 10:29:23 +03:00
e9c1a2ab2b
[ TrueCloudLab/hrw#2 ] sdk-go: Optimize node hash
...
Compute node hash by node initialization
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-02-28 18:07:14 +03:00
2cbc585edd
[ TrueCloudLab/hrw#2 ] sdk-go: Use typed HRW methods
...
Update HRW pkg and use typed HRW methods to sort nodes
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-02-28 18:07:14 +03:00
4ff9c00de3
[ #4 ] Rename NeoFS mentions in comments and method names
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-30 13:40:50 +03:00
b204a62da1
[ #4 ] go.mod: Update ANTLR
...
Current `go:generate` command was, probably, executed only on my laptop.
Replace it with explicit version, because package in the generated code
depends on in.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-30 13:40:50 +03:00
Pavel Karpy
4c779423f5
Move to frostfs-sdk-go
...
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2022-12-14 09:59:29 +03:00
Evgenii Stratonikov
da4ddcf337
[ #353 ] netmap: Get rid of ioutil
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-10-19 12:05:49 +04:00
21eef1ae7f
[ #351 ] Add StringifyPublicKey method for NodeInfo
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2022-10-13 10:27:18 +03:00
Evgenii Stratonikov
c6576c8112
[ #344 ] netmap: Support ExternalAddr
well-known attribute
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-26 13:28:39 +03:00
Leonard Lyubich
664392afc2
[ #312 ] netmap: Support NetmapService.NetmapSnapshot
RPC
...
Extend functionality of `NetMap` type. Add `NetMapSnapshot` operation to
`client` package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-22 10:51:07 +04:00
Evgenii Stratonikov
3d6b5d807b
[ #315 ] netmap: Add maintenance node state
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-19 16:49:27 +04:00
Evgenii Stratonikov
3dad44232e
[ #315 ] netmap: Add maintenance mode network setting
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-19 16:49:27 +04:00
Evgenii Stratonikov
1929b634a1
[ #332 ] netmap/parser: Disallow trailing garbage
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-12 10:45:37 +03:00
Evgenii Stratonikov
84888854ab
[ #322 ] *: Go fmt -s
...
go1.19 rewrites comments to proper render them in docs.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-24 18:58:59 +03:00
Pavel Karpy
0cd790cfe0
[ #240 ] netmap: Support HomomorphicHashingDisabled
network config
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-07-05 15:37:49 +03:00
Leonard Lyubich
ab4d1e34a8
[ #280 ] policy: Use policyVisitor
as ErrorListener
for QueryLexer
...
Share `policyVisitor` instance as an `ErrorListener` provider for both
`QueryLexer` and `Query`.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-06-28 14:47:22 +03:00
Leonard Lyubich
dea3d9c419
[ #280 ] policy: Remove error listeners from query lexer
...
In previous implementation `PlacementPolicy.DecodeString` produced
undesired console logs.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-06-28 14:47:22 +03:00
Evgenii Stratonikov
af7e20073b
[ #277 ] netmap: Allow more uint64 config values
...
NEO VM uses little-endian format for integers,
however the resulting byte slice can contain less than 8 bytes.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-06-22 15:51:36 +03:00
Leonard Lyubich
e986f47807
[ #227 ] netmap: Add more encoding methods for PlacementPolicy
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-06-16 11:23:21 +03:00
Leonard Lyubich
e999fb00c3
[ #227 ] netmap: Remove unnecessary unit tests
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-06-16 11:23:21 +03:00