-
Notifications
You must be signed in to change notification settings - Fork 134
fix: add serverless backfill #3588
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
base: 12-02-chore_fix_runner_config_creation
Are you sure you want to change the base?
fix: add serverless backfill #3588
Conversation
b9c23a8 to
9284eb3
Compare
|
The latest updates on your projects. Learn more about Vercel for GitHub.
3 Skipped Deployments
|
|
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. |
More templates
@rivetkit/cloudflare-workers
@rivetkit/db
@rivetkit/framework-base
@rivetkit/next-js
@rivetkit/react
rivetkit
@rivetkit/sql-loader
@rivetkit/engine-runner
@rivetkit/engine-runner-protocol
commit: |
Pull Request Review: Add Serverless BackfillOverviewThis PR adds a serverless backfill service to ensure runner pool workflows are properly initialized for all existing serverless configurations on engine startup. It also removes the deprecated singleton deployment configuration. Code Quality & Best Practices✅ Strengths
|
PR Review: Add Serverless BackfillOverviewThis PR adds a new oneshot service that backfills serverless runner pool workflows on engine startup. It also removes the now-unnecessary singleton deployment infrastructure from Kubernetes. Positive Aspects
Issues and Concerns1. Critical: Runner Config Matching Bug (engine/packages/serverless-backfill/src/lib.rs:63-73)The logic for checking if a runner config exists has a bug. It only checks if ANY runner config exists for the namespace, not if the SPECIFIC runner config exists. This will skip dispatching workflows even when the correct runner config exists, as long as ANY other runner config for that namespace is present. Fix: Check both namespace_id AND runner_name in the any() predicate at line 65. 2. Missing Dependency Alias (engine/packages/serverless-backfill/Cargo.toml:8)Using gas.workspace = true but the workspace dependency is called gasoline, not gas. This will fail to compile. 3. Missing Error Context (engine/packages/serverless-backfill/src/lib.rs:9-18)Multiple fallible operations lack error context for better debugging. Performance Considerations
Security ConsiderationsNo security concerns identified. The service uses snapshot isolation for safe reads, properly validates runner configs before dispatching workflows, and uses workflow deduplication. TestingMissing: No tests for the new package. Add unit tests for the runner config matching logic (especially given the bug found) and integration tests to verify workflows are dispatched correctly. Style and Convention ComplianceFollows CLAUDE.md conventions: uses structured logging with tracing, lowercase log messages, uses workspace dependencies appropriately, follows existing error patterns. SummarySeverity of Issues:
Recommendation: Fix issues 1 and 2 before merging. Consider adding tests to prevent regressions. Generated with Claude Code |

No description provided.