-
Notifications
You must be signed in to change notification settings - Fork 147
fix(gas, pb, api): make .removed events noop if dont match, add check for dead wfs to actor/runner errors, make api error types unknown #3948
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
Conversation
|
🚅 Deployed to the rivet-pr-3948 environment in rivet-frontend
|
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
How to use the Graphite Merge QueueAdd the label merge-queue to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR Review: fix(gas, pb, api): make .removed events noop if dont match, add check for dead wfs to actor/runner errors, make api error types unknownSummaryThis PR makes three main improvements:
Code Quality & Best PracticesStrengths
Potential Issues1. Silent Failure in The code silently ignores mismatched removed events without advancing the cursor. While this is the intended behavior per the PR title, it could mask issues where workflow code has diverged from history. Recommendation: Consider adding a metric or counter for ignored removed events to help detect potential workflow drift in production. 2. Missing Context in Dead Workflow Detection (pegboard/src/ops/actor/util.rs:49-50): The Recommendation: Add logging context before returning the error: let error = if wf.is_dead() {
tracing::warn!(?actor_id, ?workflow_id, "actor workflow is dead (no wake condition)");
Some(rivet_types::actor::ActorError::InternalError)
}Performance Considerations
Security ConcernsNo security issues identified. The changes:
Test CoverageMissing Test Coverage: The PR does not include tests for the new behavior. Recommended test additions:
Additional Observations
VerdictApprove with minor recommendations The code is well-structured and follows project conventions. The main improvements needed are:
The changes are functionally sound and address real-world edge cases in workflow execution. |
More templates
@rivetkit/cloudflare-workers
@rivetkit/db
@rivetkit/framework-base
@rivetkit/next-js
@rivetkit/react
rivetkit
@rivetkit/sql-loader
@rivetkit/virtual-websocket
@rivetkit/engine-runner
@rivetkit/engine-runner-protocol
commit: |
3087c76 to
a0b314c
Compare
a0b314c to
9520b6b
Compare
67c4a86 to
93d5dd9
Compare
… for dead wfs to actor/runner errors, make api error types unknown
9520b6b to
ccf33ec
Compare
Merge activity
|
… for dead wfs to actor/runner errors, make api error types unknown (#3948)

No description provided.