-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Report shard transfer progress #3555
Conversation
dbdbda3
to
5573265
Compare
2827213
to
edc2e1a
Compare
"eta_seconds": 73.496774076 I think truncating to two decimals should be enough precision :) |
Done. |
709e408
to
26607fa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the tests and switching to the ringbuffer crate 👍
26607fa
to
810bd1e
Compare
After a discussion, switched to a human-readable text format, e.g. "comment": "Transferring records (136000/193725), started 15s ago, ETA: 6.83s" |
Can you please share why this decision was taken? :) |
@agourlay Like, we can't just to put these values on Grafana dashboard: if we aggregate on We want to add total active transfers count metric later to put it on Grafana, but it's outside scope of this PR. Also, while previous schema was fine for record streaming, the delta/snapshot transfer will complicate reporting by introducing steps (i.e. first download a blob, then transfer records), and we do not want to complicate the schema because of it. We considered these alternatives:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙌
* Shard transfer progress * Add test * Round to two decimals * Use ringbuffer crate * Text-based human readable report
Closes #3433.
The shard progress state is tracked locally inside
TransferTasksPool
(akaCollection::transfer_tasks
).Since it's local, only the sender node shows the progress in the result of
GET collections/{name}/cluster
.Output of
GET collections/{name}/cluster
:All Submissions:
dev
branch. Did you create your branch fromdev
?New Feature Submissions:
cargo +nightly fmt --all
command prior to submission?cargo clippy --all --all-features
command?Changes to Core Features: