[VQueues] Major redesign of vqueues internal design#4573
Conversation
4412a0f to
41faee4
Compare
dc156c7 to
a5d312f
Compare
0c69b1b to
718105e
Compare
edd9612 to
9b2d914
Compare
Without this, we cannot read unmerged keys from partition-store
VQueueStatistics after transitions + separate pause and suspend
tillrohrmann
left a comment
There was a problem hiding this comment.
Thanks for this amazing piece of work @AhmedSoliman. As far as I can tell, the changes look great. 🤯 probably explains best my current state of mind as I am still processing the new state of the world. I might not have been able to trace all the different state transitions but I believe that you've already tested things well and if there are bugs left, then we iron them out while testing the new vqueue code paths. +1 for merging it!
| // Left intentionally for future reference | ||
| // pub fn wake_up<T>( | ||
| // &mut self, | ||
| // at: UniqueTimestamp, | ||
| // header: &impl EntryStatusHeader, | ||
| // run_at: Option<RoughTimestamp>, | ||
| // updated_state: &T, | ||
| // ) where | ||
| // T: EntryStatusExtra + bilrost::Message + bilrost::encoding::RawMessage, | ||
| // (): bilrost::encoding::EmptyState<(), T>, | ||
| // { | ||
| // } |
There was a problem hiding this comment.
What is the reference for? Modulo the generic update_state it looks pretty similar (signature wise) to the current wake_up implementation.
There was a problem hiding this comment.
Primarily for the generic and how this can be used for polymorphic extra state type
Stack created with Sapling. Best reviewed with ReviewStack.