Extract RetryConfig and RetryPolicy to executor/retry.rs module #13
No reviewers
Labels
No labels
adr
automated
bug
chore
dependencies
documentation
enhancement
epic
github-actions
P1-high
P2-medium
P3-low
release
research
rust
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
jwilger/eventcore!13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "refactor-executor-split-modules"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Type of Change
Testing Checklist
Performance Impact
No performance impact expected - pure code organization change with identical runtime behavior.
Security Checklist
Code Quality
Reviewer Checklist
Review Focus
This is a pure refactoring with no functional changes. Focus on:
🤖 Generated with Claude Code
Pull Request Overview
This PR reorganizes the executor by extracting retry behavior into its own module, modularizing the core execution flow, and updating planning documentation to reflect refactoring priorities.
RetryConfigandRetryPolicyintoexecutor/retry.rsexecutor.rsPLANNING.mdwith tooling instructions and next steps for systematic refactoringReviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (3)
eventcore/src/executor.rs:748
read_streams_with_timeout_and_circuit_breakervsread_streams_with_circuit_breaker_only. Consider unifying these to a consistent pattern likeread_streams_with_circuit_breakerandread_streams_with_timeoutfor clarity.eventcore/src/executor/retry.rs:1
RetryConfig::defaultorRetryPolicy::should_retry. Adding tests for each policy variant and default values would guard against regressions.PLANNING.md:106
The add_streams method increments the iteration counter and next_iteration also increments it, causing iteration to advance twice when new streams are discovered. Consider removing the increment from add_streams and handling all iteration counting in next_iteration.
@ -0,0 +38,4 @@/// Retry on concurrency conflicts and transient errors.ConcurrencyAndTransient,/// Custom policy with user-defined predicate.Custom(fn(&CommandError) -> bool),[nitpick] Using a bare function pointer for the
Custompolicy limits flexibility. Consider usingBox<dyn Fn(&CommandError) -> bool + Send + Sync>so callers can supply closures with captured state.Closing this PR. While RetryConfig and RetryPolicy are still in executor.rs, the major functional refactoring in PR #10 has significantly changed the structure of the executor module. The benefit of extracting these small types is now minimal compared to the effort required to rebase and maintain this change.
Pull request closed