mirror of
https://relay.ngit.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp.git
synced 2026-10-05 15:08:24 +00:00
issue: update 1e2a - document completed retry logic and remaining work
This commit is contained in:
@@ -48,6 +48,25 @@ This is particularly problematic because:
|
||||
|
||||
## Progress
|
||||
|
||||
### 2026-01-27 [Session 17:30]
|
||||
- **Completed:** Basic retry logic implemented in migration-v2 branch
|
||||
- Retry loop that excludes failed OIDs and retries with remaining OIDs (src/purgatory/sync/context.rs:363-471)
|
||||
- Debug-level logging for retry operations
|
||||
- Proper error reporting with URLs for all failure cases
|
||||
|
||||
- **Remaining work:**
|
||||
- Throttling integration: Respect domain throttling limits between retries
|
||||
- Metrics: Track retry attempts, successes, and confirmed missing OIDs
|
||||
- OID prioritization: Implement tiered fetching strategy:
|
||||
- First: Latest state events (kind 30617)
|
||||
- Second: Earlier state events
|
||||
- Third: PR refs
|
||||
- After successful fetch, retry to get remaining OIDs that aren't confirmed missing
|
||||
- Note: Rate limiting retries is better handled through throttling integration rather than separate backoff logic
|
||||
|
||||
- **Not needed:**
|
||||
- Partial success handling (git servers don't support partial fetches - they fail atomically)
|
||||
|
||||
### 2026-01-27 [Session]
|
||||
- Implemented Phase 1: retry logic for "not our ref" errors
|
||||
- When fetch fails with "not our ref", extracts missing OID and retries with remaining OIDs
|
||||
|
||||
Reference in New Issue
Block a user