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

feat(KRY-624): A more intelligent SideKick #47

Merged
merged 31 commits into from
Jul 20, 2023
Merged

feat(KRY-624): A more intelligent SideKick #47

merged 31 commits into from
Jul 20, 2023

Conversation

kmushegi
Copy link
Contributor

@kmushegi kmushegi commented Jul 14, 2023

What it Does

  • Use additional info from QuickSilver to make more intelligent decisions on traffic routing
    • if cluster is unhealthy, automatically try to hit S3
    • if cluster is healthy, split traffic between crunch and s3 based on the traffic splitting param
    • if cluster is healthy, and initial target is S3 and that fails with 404, fallback to Bolt
  • Rename things all around since QuickSilver no longer just returning endpoints
  • Add tests
  • Update integration test instructions
  • Add Python boto3 integration example

Integration tests are passing w/ sidekick url specified and without ✅

@kmushegi kmushegi requested a review from dskart July 14, 2023 21:54
boltrouter/bolt_info.go Outdated Show resolved Hide resolved
boltrouter/bolt_info.go Show resolved Hide resolved
@jr-projectn
Copy link
Collaborator

jr-projectn commented Jul 17, 2023

if cluster is healthy, split traffic between crunch and s3 based on the traffic splitting param

is this read or write traffic. Are we handling read and write separately?
Is the fallback behavior included in this PR?

@kmushegi
Copy link
Contributor Author

if cluster is healthy, split traffic between crunch and s3 based on the traffic splitting param

is this read or write traffic. Are we handling read and write separately? Is the fallback behavior included in this PR?

Some speculation on Traffic Split for writes, fallback for reads for an inline crunch workflow If traffic split > 50% -ping Bolt first for reads -fallback to S3 for writes -fallback to S3 for reads

read and write are not handled separately. fallback is already included in SideKick and is controlled via a documented arg.

In this iteration let's just split all requests independent of what they are. We can iterate on this down the line.

boltrouter/bolt_info.go Outdated Show resolved Hide resolved
@jr-projectn
Copy link
Collaborator

+1

@kmushegi kmushegi merged commit 0735c85 into main Jul 20, 2023
7 checks passed
@kmushegi kmushegi deleted the kry-624 branch July 20, 2023 18:52
This was referenced Aug 15, 2023
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.

None yet

5 participants