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

refactor: CNS-1008 - Optimizer Refactor Part 1: provider optimizer refactor #1784

Merged
merged 41 commits into from
Jan 21, 2025

Conversation

oren-lava
Copy link
Collaborator

Description

Closes: #XXXX

I refactored the provider optimizer and fixed various bugs it had. I did the refactor in files with "_refator" suffix to be able to test the new optimizer while not hurting the current one


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • read the contribution guide
  • included the correct type prefix in the PR title, you can find examples of the prefixes below:
  • confirmed ! in the type prefix if API or client breaking change
  • targeted the main branch
  • provided a link to the relevant issue or specification
  • reviewed "Files changed" and left comments if necessary
  • included the necessary unit and integration tests
  • updated the relevant documentation or specification, including comments for documenting Go code
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic, API design and naming, documentation is accurate, tests and test coverage

Copy link

github-actions bot commented Nov 20, 2024

Test Results

2 492 tests  +69   2 492 ✅ +70   26m 21s ⏱️ + 6m 54s
  122 suites ± 0       0 💤 ± 0 
    7 files   ± 0       0 ❌  -  1 

Results for commit 562bb29. ± Comparison against base commit 8943739.

This pull request removes 14 and adds 83 tests. Note that renamed tests count towards both.
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestPerturbationWithNormalGaussianOnConcurrentComputation
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProbabilitiesCalculations
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProbabilitiesCalculations/almost_there
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProbabilitiesCalculations/five
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProbabilitiesCalculations/one
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProbabilitiesCalculations/tight
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerAvailability
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerBasic
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerSetGet
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerWithOptimizerQoSClient
…
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerAvailabilityProbeData
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerBasicProbeData
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerChoiceSimulation
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerChooseProvider
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerLatencySyncScore
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerProviderDataSetGet
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerRetriesWithReducedProvidersSet
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestProviderOptimizerUpdatingLatency
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestSelectionTierInstGetTierBig/tier_1,_25_entries
github.com/lavanet/lava/v4/protocol/provideroptimizer ‑ TestSelectionTierInstGetTierBig/tier_2,_25_entries
…

♻️ This comment has been updated with latest results.

@oren-lava oren-lava requested a review from ranlavanet November 21, 2024 12:09
Copy link
Collaborator

@omerlavanet omerlavanet left a comment

Choose a reason for hiding this comment

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

this code is a piece of art, taking something so complex and making it so clear

x/pairing/types/qos_report.go Show resolved Hide resolved
protocol/provideroptimizer/provider_optimizer.go Outdated Show resolved Hide resolved
ranlavanet
ranlavanet previously approved these changes Jan 19, 2025
Copy link
Collaborator

@ranlavanet ranlavanet left a comment

Choose a reason for hiding this comment

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

Very nice job!

@ranlavanet ranlavanet dismissed omerlavanet’s stale review January 19, 2025 18:50

No longer relvant

@ranlavanet ranlavanet merged commit e7ae90e into main Jan 21, 2025
30 checks passed
@ranlavanet ranlavanet deleted the CNS-1008-score-store-refactor branch January 21, 2025 15:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants