-
Notifications
You must be signed in to change notification settings - Fork 136
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
Relayer Scheduling Logic #900
Merged
ToasterTheBrave
merged 6 commits into
palomachain:master
from
VolumeFi:toaster/relayer-scheduling-logic
Jul 6, 2023
Merged
Relayer Scheduling Logic #900
ToasterTheBrave
merged 6 commits into
palomachain:master
from
VolumeFi:toaster/relayer-scheduling-logic
Jul 6, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 tasks
byte-bandit
approved these changes
Jul 5, 2023
* Build out the assignment piece that selects a relayer based on a set of weights * For now, the relayers have equal dummy stats, so this will mostly randomly assign relayers until we start tracking stats * Also renamed "speed" to "executionTime" to be more intuitive
* Instead of having Pigeon pick the correct messages, Paloma now assigns a message to a pigeon and only returns assigned messages to pigeons when they request messages * I've exposed two new query endpoints for pigeons to specifically request messages they need to attest and messages they need to relay. This replaces the catch-all query that returns all messages in the queue * I moved some of the logic of relay messages into paloma. For instance, if a message already has errorData or publicAccessData, it won't be sent to a pigeon for relaying. There is still some in Pigeon we will want to bring over later.
ToasterTheBrave
force-pushed
the
toaster/relayer-scheduling-logic
branch
from
July 5, 2023 20:03
b2de475
to
766b5de
Compare
byte-bandit
approved these changes
Jul 6, 2023
* Remove useless comment * Don't use pointers in slices for new code * (not actually requested) specify size of slices when we know it * Try not to panic
Changes made. This is ready for another review |
byte-bandit
approved these changes
Jul 6, 2023
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.
Let's get it out! :)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Github tickets
Background
This Feature lays the groundwork for Paloma picking pigeons based on a set of weighted rules. The foundation for selecting pigeons is set here, and the scaffolding for inputting the weighted features is created as well.
The relay weights are set through governance. They aren't used yet because we need to start tracking pigeon performance for some of them, and we need to track pigeon's fees for one. Once these are tracked, the weights will come into play. Until then, all pigeons are of equal weight and are selected semi-randomly, similar to how pigeons are selected today. Additionally, once weights come into play, some pigeons may have the same weight. When this happens, the top tier of weighted pigeons are selected randomly. This prevents consistently assigning all work to the same pigeon.
This is also a small bit of reorganizing interfaces in this PR, which assisted in making the testing cleaner.
Once this and it's corresponding Pigeon PR are in use, Pigeons will no longer pick messages to relay. They will instead be assigned messages to relay.
Testing completed
Breaking changes