-
Notifications
You must be signed in to change notification settings - Fork 11.6k
Create method to pass Arc<Checkpoint> to workers #22028
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
Create method to pass Arc<Checkpoint> to workers #22028
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
2 Skipped Deployments
|
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.
this is "ok", it sort of feels not great but works. lets get @phoenix-o to take a quick look at this too
Just for my understanding, why do you say that? Is your concern about the panic (and hence lack of compile-time interface enforcement)? I couldn't think of a better way to solve that. Or are you more concerned about exposing the Arc rather than &Checkpoint and opening up the possibility for weirder memory management issues? |
Oh i don't mean anything by it other than the interface is just a bit more awkward. If we did proper semver releases then we'd be able to do a breaking release but given we just have folks depend on this via git deps its better than we try to preserve compatibility for as long as possible as Phoenix called out. This is the best way to handle the situation as of now though, sorry for not being clearer before. |
async fn process_checkpoint(&self, checkpoint: &CheckpointData) -> Result<Self::Result>; | ||
async fn process_checkpoint_arc( | ||
&self, | ||
checkpoint: Arc<CheckpointData>, |
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.
One maybe minor nit here would be to have this take a &Arc<CheckpointData>
so that you don't need to clone the arc unless the implementor needs to do so
Ah yeah, that would be ideal but I wasn't sure if it was worth the effort if the long term vision is to unify on the new indexer. |
3ca5952
into
nickv-backfill-fixes-alt-2
Description
Backwards compatible change that allows workers to get the Arc rather than the &CheckpointData. Enables parallelization within the worker.