-
Notifications
You must be signed in to change notification settings - Fork 139
fix(backport): fix serverless #3622
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
fix(backport): fix serverless #3622
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 4 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: fix(backport): fix serverlessI've reviewed the changes in this PR. Overall, the implementation addresses several critical issues with serverless functionality and workflow reliability. Here's my detailed feedback: Strengths
Critical Issues1. Potential Data Race in Metrics Counting (engine/packages/gasoline/src/db/kv/mod.rs:698-705)The change from Fix: Verify that the metric reading logic properly deserializes a count value, or if this should remain 2. HashMap Iteration Without Ordering (engine/packages/gasoline/src/db/kv/mod.rs:1152)Changed from Fix: Consider using 3. Missing Null Check (engine/packages/gasoline/src/db/kv/mod.rs:1165)After the insertion block, the code continues with logic that expects Fix: Verify that the logic after this block is correct and doesn't assume Warnings & Suggestions4. Silent Workflow Wake Failure (engine/packages/gasoline/src/db/kv/debug.rs:695)Changed from 5. CPU Load Shedding Thresholds (engine/packages/gasoline/src/db/kv/mod.rs:1051)Changed from Suggestion: Document the rationale for these specific threshold values in a comment. 6. Hardcoded Limit (engine/packages/gasoline/src/db/kv/mod.rs:1181)Magic number (10000). Consider making this configurable via 7. Inconsistent Error Handling in Purger (engine/packages/epoxy/src/workflows/purger.rs:25)Changed from Suggestion: Add a comment explaining the buffer size choice and whether dropped signals are acceptable. 8. Missing Bounds Check (engine/packages/gasoline/src/db/kv/debug.rs:1212)Good validation! However, consider whether 1024 is a reasonable upper bound. Document why this limit exists. Minor Issues
What does
Clear documentation! However, the fallback behavior ("uses /sys/fs/cgroup/cpu.max, and if that is unset uses total host cpu") should also be documented in the config struct or schema. Testing Concerns
Recommendation: Add unit tests for:
Security
Performance
Recommendations SummaryMust Fix:
Should Fix: Consider: Adherence to CLAUDE.md
Overall Assessment: This is a solid improvement to workflow reliability and serverless functionality. The main concerns are around the metrics counting change (potential compilation error) and ensuring deterministic behavior in workflow pulling. Once those are addressed and tests are added, this should be good to merge. |
Merge activity
|

No description provided.