-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Add Redis durablejobs Implementation #9823
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: main
Are you sure you want to change the base?
Conversation
Co-authored-by: jaironalves <[email protected]>
…cture Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
…evert NuGet.Config Co-authored-by: jaironalves <[email protected]>
…Extensions Co-authored-by: jaironalves <[email protected]>
…led) Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
…onContext Co-authored-by: jaironalves <[email protected]>
…Azure implementation Co-authored-by: jaironalves <[email protected]>
… implementation Co-authored-by: jaironalves <[email protected]>
…cript Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
- Create RedisJobShardManager.Log.cs with partial methods using LoggerMessage attributes - Update RedisJobShardManager.cs to use the new partial log methods - Follow the same pattern used in AzureStorageJobShardManager and RedisJobShard Co-authored-by: jaironalves <[email protected]>
This comment was marked as resolved.
This comment was marked as resolved.
…urableJobs package Co-authored-by: jaironalves <[email protected]>
- Fix TaskCompletionSource type inconsistency (use non-generic version) - Use consistent ConfigureAwait pattern with Azure implementation - Fix batch collection logic to use TryPeek instead of TryRead/TryWrite - Initialize MetadataVersion from metadata dictionary in constructor - Add local function for batch collection consistency with Azure Co-authored-by: jaironalves <[email protected]>
Critical fix: Use expectedVersion instead of MetadataVersion when calculating newVersion in ExecuteUpdateMetadataAsync to prevent race conditions and ensure proper CAS semantics. Add comprehensive review document detailing all findings. Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
The review findings have been documented in the PR description instead. Co-authored-by: jaironalves <[email protected]>
…bs Redis Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
Co-authored-by: jaironalves <[email protected]>
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.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.
- Add braces on new lines for foreach loops in RedisJobShard.cs - Add braces on new line for catch block in RedisJobShard.cs - Addresses unresolved PR review comments about code formatting Co-authored-by: jaironalves <[email protected]>
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.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated no new comments.
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
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.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.
src/Redis/Orleans.DurableJobs.Redis/Hosting/RedisJobShardOptionsValidator.cs
Show resolved
Hide resolved
Co-authored-by: Copilot <[email protected]>
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
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.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.
test/Extensions/Tester.Redis/DurableJobs/RedisJobShardManagerTestFixture.cs
Outdated
Show resolved
Hide resolved
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.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.
src/Redis/Orleans.DurableJobs.Redis/Hosting/RedisDurableJobsExtensions.cs
Outdated
Show resolved
Hide resolved
| /// <summary> | ||
| /// Represents an operation to be performed on a durable job. | ||
| /// </summary> | ||
| internal readonly struct JobOperation |
Copilot
AI
Dec 7, 2025
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.
The JobOperation struct should be marked with readonly keyword for consistency with C# 13 best practices and to prevent accidental mutations. The Azure implementation at src/Azure/Orleans.DurableJobs.AzureStorage/JobOperation.cs uses struct without readonly, but given that all properties are init-only and the coding guidelines emphasize using latest C# features, this should be readonly struct.
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.
Pull request overview
Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.
Microsoft Reviewers: Open in CodeFlow