Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Commit

Permalink
Merge pull request #151 from filecoin-saturn/feat/improve-retry-logic
Browse files Browse the repository at this point in the history
Improve retry logic
  • Loading branch information
aarshkshah1992 committed Aug 24, 2023
2 parents b7b5c5f + f4fc4d7 commit 337e31a
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
3 changes: 2 additions & 1 deletion caboose.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,12 @@ const DefaultLoggingInterval = 5 * time.Second
const DefaultSaturnOrchestratorRequestTimeout = 30 * time.Second

const DefaultSaturnBlockRequestTimeout = 19 * time.Second

const DefaultSaturnCarRequestTimeout = 30 * time.Minute
const DefaultSaturnMirrorRequestTimeout = 30 * time.Second

// default retries before failure unless overridden by MaxRetrievalAttempts
const defaultMaxRetries = 3
const defaultMaxRetries = 2

// default percentage of requests to mirror for tracking how nodes perform unless overridden by MirrorFraction
const defaultMirrorFraction = 0.01
Expand Down
4 changes: 2 additions & 2 deletions fetcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,9 +236,9 @@ func (p *pool) fetchResource(ctx context.Context, from string, resource string,
// which is the amount of time without any NEW data from the server, but
// that can be added later. We need both because a slow trickle of data
// could take a large amount of time.
requestTimeout := DefaultSaturnCarRequestTimeout
requestTimeout := time.Duration(DefaultSaturnCarRequestTimeout.Milliseconds()/int64(attempt+1)) * time.Millisecond
if isBlockRequest {
requestTimeout = DefaultSaturnBlockRequestTimeout
requestTimeout = time.Duration(DefaultSaturnBlockRequestTimeout.Milliseconds()/int64(attempt+1)) * time.Millisecond
}

reqCtx, cancel := context.WithTimeout(ctx, requestTimeout)
Expand Down

0 comments on commit 337e31a

Please sign in to comment.