-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
neofs-cli container set-eacl
hangs without error report
#1652
Comments
@aprasolova, were you able to get that eACL via |
We actually need to see inner ring logs within this issue. It'd be also useful to see how container is formed: is ACL extension enabled? That's what I got with non-extendable ACL: $ neofs-cli --rpc-endpoint s01.neofs.devenv:8080 --wallet <WALLET> container set-eacl --cid <CID> --table <TABLE> --await
Enter password >
awaiting...
timeout: EACL has not been persisted on sidechain
$ echo $?
1 |
You might run any robot test from the directory, the issue reproduces pretty often. By the way, what response recieves a user when they try to set eACL upon the container whose ACL cannot be extended? I'd propose to print exact error message, not timeout error. |
No response is expected now since the contract does not check that, all the validations (except non-existing container) are performed on the IR side so that TX is considered incorrect and not going to be added to the chain -> timeout on the CLI side. |
It doesn't look human-friendly, does it? |
Maybe, but that is how setting eACL works (
Yes, IR is the only app that validates setting eACL and that is why CLI should just wait for TX to be persisted on the Morph since neither CLI nor the SN communicate to the IR directly only via the Morph. |
@aprasolova we can check the extensibility inside the command itself by reading the container from the network (as we all remember extensibility is an immutable prop same as all others in the container). Pros: we can also cover the cases of non-existent containers. So, I propose to support |
…acl` Container ACL in NeoFS can be extended only for container in which the corresponding option is enabled. In previous implementation command `set-eacl` could hang up on modifying eACL of the non-existent or non-extendable container. To improve UX, there is a need to pre-check the availability of `SETEACL` operation. Add boolean `precheck` flag to `set-eacl` cmd which reads the container before the actual transaction formation. If flag is set, command fails on non-extendable container ACL. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
… struct Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
…acl` Container ACL in NeoFS can be extended only for container in which the corresponding option is enabled. In previous implementation command `set-eacl` could hang up on modifying eACL of the non-existent or non-extendable container. To improve UX, there is a need to pre-check the availability of `SETEACL` operation. Add boolean `precheck` flag to `set-eacl` cmd which reads the container before the actual transaction formation. If flag is set, command fails on non-extendable container ACL. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
… struct Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
@aprasolova I couldn't reproduce it even once. |
Please look at the robot test runs for one of recent pull requests. It reproduces multiple times |
…ommand Flag `--pre-check` of `set-eacl` command found to be in demand in most cases. based on this, it makes sense to add its action to the default behavior. Pre-check container extensibility by default. Rename flag to `--no-precheck` and invert its action. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
…acl` Container ACL in NeoFS can be extended only for container in which the corresponding option is enabled. In previous implementation command `set-eacl` could hang up on modifying eACL of the non-existent or non-extendable container. To improve UX, there is a need to pre-check the availability of `SETEACL` operation. Add boolean `precheck` flag to `set-eacl` cmd which reads the container before the actual transaction formation. If flag is set, command fails on non-extendable container ACL. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
… struct Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
…ommand Flag `--pre-check` of `set-eacl` command found to be in demand in most cases. based on this, it makes sense to add its action to the default behavior. Pre-check container extensibility by default. Rename flag to `--no-precheck` and invert its action. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Container ACL in NeoFS can be extended only for container in which the corresponding option is enabled. In previous implementation command `set-eacl` could hang up on modifying eACL of the non-existent or non-extendable container. To improve UX, there is a need to pre-check the availability of `SETEACL` operation. Add boolean `precheck` flag to `set-eacl` cmd which reads the container before the actual transaction formation. If flag is set, command fails on non-extendable container ACL. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Flag `--pre-check` of `set-eacl` command found to be in demand in most cases. based on this, it makes sense to add its action to the default behavior. Pre-check container extensibility by default. Rename flag to `--no-precheck` and invert its action. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
…acl` Container ACL in NeoFS can be extended only for container in which the corresponding option is enabled. In previous implementation command `set-eacl` could hang up on modifying eACL of the non-existent or non-extendable container. To improve UX, there is a need to pre-check the availability of `SETEACL` operation. Add boolean `precheck` flag to `set-eacl` cmd which reads the container before the actual transaction formation. If flag is set, command fails on non-extendable container ACL. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
… struct Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
…ommand Flag `--pre-check` of `set-eacl` command found to be in demand in most cases. based on this, it makes sense to add its action to the default behavior. Pre-check container extensibility by default. Rename flag to `--no-precheck` and invert its action. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Doesn't reproduce currently, we have testcases running regularly with similar functionality. |
Sometimes when I run
neofs-cli container set-eacl --await ...
it hangs for 30 seconds, then fails without any error message neither in console nor in SN log. CLI exit code is 0.The command was run at 18:51:50.459. These log messages related to eACL setting I have found in the
s01.neofs.devenv
logWhen I requested two transactions from log from
morph-chain.neofs.devenv
, got no responseYour Environment
374724f04f4de8bdd494ac9d6a9319071b20406a
v0.30.2
The text was updated successfully, but these errors were encountered: