Skip to content
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

populate retry interval for mercury requests and handle 206 response code #11195

Closed
wants to merge 1 commit into from

Conversation

FelixFan1992
Copy link
Contributor

This PR targets AUTO-6936

  • It sets retryable to true for response code 502 in both v02 and v03
  • Additionally for mercury v03 it handles code 206 as retryable (partial reports)
  • It populates a retry interval for retryable failed mercury requests.
  • For the first 5 retryable failed pipeline runs caused by mercury, it will populate a 1s retry interval
  • For the last 5 retryable failed pipeline runs caused by mercury, it will populate a 5s retry interval
  • After that, it will set retryable to false

This PR also targets AUTO-5044

  • It handles potential 206 response code from mercury server
  • This response code means the mercury request is valid but mercury server has not generated reports for some of the feeds
  • It treats 206 as a retryable response code

This PR also targets AUTO-7090

  • It handles 502, 503, 504 response codes from mercury server and treats them as retryable

This PR also targets AUTO-6956

  • It reduces mercury permission cache period from 20 mins to 10 mins

@FelixFan1992 FelixFan1992 requested review from a team as code owners November 6, 2023 22:03
Copy link
Contributor

github-actions bot commented Nov 6, 2023

I see that you haven't updated any CHANGELOG files. Would it make sense to do so?

Copy link
Contributor

github-actions bot commented Nov 6, 2023

I see that you haven't updated any README files. Would it make sense to do so?

@cl-sonarqube-production
Copy link

}
if sl.feedParamKey == feedIdHex && sl.timeParamKey == blockNumber {
// only mercury v0.2
for i := range sl.feeds {
go r.singleFeedRequest(ctx, ch, i, sl, lggr)
}
} else if sl.feedParamKey == feedIDs && sl.timeParamKey == timestamp {
} else if sl.feedParamKey == feedIDs {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated

checkResults[i].IneligibilityReason = uint8(encoding.UpkeepFailureReasonMercuryAccessNotAllowed)
continue
}
} else if l.feedParamKey != feedIDs || l.timeParamKey != timestamp {
} else if l.feedParamKey != feedIDs {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants