Track progress in control shards evacuate #890

Open
opened 2025-12-28 17:21:02 +00:00 by sami · 4 comments
Owner

Originally created by @vkarak1 on GitHub (Nov 18, 2022).

There is no ability to track the progress of the evacuate command and what the timeout duration should I specify according to the data on a shard?

I have 1.7G data on shard:
/dev/vdh1 20G 1.7G 17G 10% /srv/neofs/data6

And when I tried to evacuate objects I always get

root@az:/etc/neofs/storage/tatlin-object-sber-tfstate/vkarakozov# neofs-cli --wallet /etc/neofs/storage/wallet.json --endpoint localhost:8091 control shards evacuate --id XpwHq2ojz93WzZsct4TS7f -t 10m               
Enter password >
rpc error: context deadline exceeded

Just for proposal it would be great to always display status bar for this command and add someting like --no-progress option in case if no need to display. One more suggestion is in case if --no-progress is specified or session has been terminated and there is no way to track if evacuate is finished or not, we could display status 'evacuated' or 'evacuate in progress' for example in control shards list command or somewhere else.

Your Environment

Linux az 5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux
Server setup and configuration:
cloud, 4 VMs, 4 SN, 4 http qw, 4 s3 gw

NeoFS Storage node
Version: v0.34.0-54-g402bbba1
GoVersion: go1.19.3

Originally created by @vkarak1 on GitHub (Nov 18, 2022). There is no ability to track the progress of the evacuate command and what the timeout duration should I specify according to the data on a shard? I have 1.7G data on shard: `/dev/vdh1 20G 1.7G 17G 10% /srv/neofs/data6` And when I tried to evacuate objects I always get ``` root@az:/etc/neofs/storage/tatlin-object-sber-tfstate/vkarakozov# neofs-cli --wallet /etc/neofs/storage/wallet.json --endpoint localhost:8091 control shards evacuate --id XpwHq2ojz93WzZsct4TS7f -t 10m Enter password > rpc error: context deadline exceeded ``` Just for proposal it would be great to always display status bar for this command and add someting like `--no-progress` option in case if no need to display. One more suggestion is in case if `--no-progress` is specified or session has been terminated and there is no way to track if evacuate is finished or not, we could display status 'evacuated' or 'evacuate in progress' for example in `control shards list` command or somewhere else. ## Your Environment Linux az 5.10.0-19-amd64 #1 SMP Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux Server setup and configuration: cloud, 4 VMs, 4 SN, 4 http qw, 4 s3 gw NeoFS Storage node Version: v0.34.0-54-g402bbba1 GoVersion: go1.19.3
Author
Owner

@fyrchik commented on GitHub (Nov 24, 2022):

I see 2 possibilities:

  1. Implement stream interfaces for most of the control service operations (most of them can be really long)
  2. Implement support for async operations: return ID and have a separate method for it's status.
@fyrchik commented on GitHub (Nov 24, 2022): I see 2 possibilities: 1. Implement stream interfaces for most of the control service operations (most of them can be really long) 2. Implement support for async operations: return ID and have a separate method for it's status.
Author
Owner

@vkarak1 commented on GitHub (Nov 24, 2022):

Am I right that in method#2 you mean control shards evacuate will return ID that could be used to track evacuation status in a new command?
Please correct me if I am wrong, thanks.

@vkarak1 commented on GitHub (Nov 24, 2022): Am I right that in method#2 you mean `control shards evacuate` will return `ID` that could be used to track evacuation status in a new command? Please correct me if I am wrong, thanks.
Author
Owner

@carpawell commented on GitHub (Nov 24, 2022):

@vkarak1, that is about an implementation on the Node side, for users both would look the same: a progress bar like in neofs-cli object put.

@carpawell commented on GitHub (Nov 24, 2022): @vkarak1, that is about an implementation on the Node side, for users both would look the same: a progress bar like in `neofs-cli object put`.
Author
Owner

@anikeev-yadro commented on GitHub (Jan 17, 2023):

In my POV this issue about all control commands. I see the same behavior in command set-mode.

@anikeev-yadro commented on GitHub (Jan 17, 2023): In my POV this issue about all control commands. I see the same behavior in command ```set-mode```.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-node#890
No description provided.