-
Notifications
You must be signed in to change notification settings - Fork 328
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
test: Add best effort messages to random traffic canister #3108
base: master
Are you sure you want to change the base?
Conversation
…sgs_to_random_traffic_canister
…sgs_to_random_traffic_canister
…hub.com:dfinity/ic into add_best_effort_msgs_to_random_traffic_canister
…sgs_to_random_traffic_canister
Out of curiosity, why was it that the canister couldn't be stopped (IIRC) the other day? |
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.
LGTM overall, thanks! My main comment is related to the CDK version. Unfortunately, things have been shuffled around a bit in the CDK since you started writing this (for the better, hopefully!) and this would no longer compile with the HEAD of the next CDK version. While we could just pin it to the version you were using and leave it there, it'd suck to have to deal with the version from a random git commit in the future, so I'd propose we clean this up before merging (I don't think it should be a major change).
Furthermore, we should pin the commit in external_crates.bzl
, otherwise things might break for someone else who needs to repin the Bazel dependencies (IIUC how the whole Bazel-Rust thing works).
I have a function edit: Well technically |
…sgs_to_random_traffic_canister
…hub.com:dfinity/ic into add_best_effort_msgs_to_random_traffic_canister
…sgs_to_random_traffic_canister
…hub.com:dfinity/ic into add_best_effort_msgs_to_random_traffic_canister
…sgs_to_random_traffic_canister
Adds support for best-effort calls on the random traffic canister. All arguments used to run the canister are collected in the
Config
now (except the random seed) since otherwise the number of update calls and individual parameters would get quite large.Adds a new test where a local canister makes only best-effort calls, to itself and to a remote subnet. Checks that the local canister can be stopped even if the remote subnet stalls.
To change any parameter you can query the current config, then change it accordingly and send it back to the canister. The seed is excluded since reseeding the rng every time would reset the random sequence.
Additionally the records now contain a timeout if the call is best-effort and the time from making the call to receiving a reply is measured (for all calls).