-
Notifications
You must be signed in to change notification settings - Fork 11.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
[kv store] retry unprocessed items #14453
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
3 Ignored Deployments
|
Deployment failed with the following error:
|
@phoenix-o is attempting to deploy a commit to the Mysten Labs Team on Vercel. A member of the Team first needs to authorize it. |
if let Some(response) = response.unprocessed_items { | ||
if let Some(unprocessed) = response.into_iter().next() { | ||
if !unprocessed.1.is_empty() { | ||
queue.push_back(unprocessed.1); |
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.
not sure if we want to add backoff here
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.
Yeah backoff would be great, I wonder if there are settings in dynamodb client which let us configure retries and backoff
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.
FWIU there's not, it's indeed a little bit confusing to not at least return the error
the reason I'm slightly hesitant about adding backoff is because of the concurrency model in the KV backfiller
we spawn N concurrent actors to process checkpoints, but store one single progress int value in "meta store" for the job
so it's updated only once there's continuation of progress from multiple actors
thus one slow actor can have impact on that metric. I guess we can try it anyway and see if there's any issue with this and it needs to be adjusted
if let Some(response) = response.unprocessed_items { | ||
if let Some(unprocessed) = response.into_iter().next() { | ||
if !unprocessed.1.is_empty() { | ||
queue.push_back(unprocessed.1); |
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.
Yeah backoff would be great, I wonder if there are settings in dynamodb client which let us configure retries and backoff
1c1a9de
to
aa76065
Compare
No description provided.