Closed
Conversation
feat: FB - Added periodic provider probe
…test_block_metric feat: FB - Added provider_endpoint to lava_consumer_latest_provider_block
…s_metrics feat: FB add provider endpoint to qos metrics
…into PRT-fb-branch-with-offline-policy-v-4-2-4
- Simplified error checking in `sendRelayWithRetries` methods for both `RPCConsumerServer` and `RPCSmartRouterServer` by removing unnecessary conditional nesting. - Improved readability and maintainability of the code while ensuring consistent error logging for relay failures. - Updated logic in `SeparateAddonsExtensions` to streamline addon checks in `BaseChainParser`.
- Streamlined error handling in the health command by reducing conditional nesting for posting health results. - Improved code readability and maintainability while ensuring consistent error logging for health run failures.
…inter - Added a new setting in the .golangci.yml file to disable the 'elseif' check in the gocritic linter. - This change aims to improve linting flexibility and accommodate coding style preferences.
…ript - Add ERR trap to show which command fails with line number - Add 2 wait_next_block calls before first governance proposal - Helps diagnose E2E test failures on CI by showing exact failure point This improves debuggability for timing-sensitive E2E test failures.
- Introduced a new function `getLavaBlockHeight` in `ConsumerSessionManager` to fetch the current Lava blockchain block height. - Updated `GetSessions` method to use the block height for `RelaySession.Epoch` instead of the pairing epoch. - Added `SetLavaBlockHeightCallback` method to allow setting the block height retrieval function after the session manager is created. - Integrated block height callback in both `RPCConsumer` and `RPCSmartRouter` to ensure accurate epoch calculations.
- Implemented the `LatestBlock` method in `mockConsumerStateTracker` to return a fixed block height of 1000. - Updated the mock interface in `consumer_state_tracker_mock.go` to include the new method. - Enhanced the test setup in `rpcconsumer_server_test.go` to expect calls to `LatestBlock` and return the specified block height, improving test coverage for block height retrieval.
- Modified the `GetSessions` method in `ConsumerSessionManager` to use the pairing epoch for provider validation instead of the Lava blockchain block height. - This change ensures accurate epoch calculations for session management and improves the clarity of the code.
…essions method - Updated comments in `ConsumerSessionManager` to accurately reflect the usage of the `getLavaBlockHeight` function. - Enhanced the formatting of the `SessionInfo` struct initialization for better readability in the `GetSessions` method. - These changes improve code clarity and maintainability.
… init_e2e.sh - Improved the `wait_next_block` function to include error handling for blockchain queries, ensuring it waits until the blockchain is responsive before proceeding. - Updated `current_block` function to return a default value if the blockchain is unresponsive. - Enhanced the `init_e2e.sh` script to check if `lavad` is operational before proceeding with block waits, improving robustness and error diagnostics during end-to-end tests. - Added informative echo statements to provide better feedback during script execution.
…into smart-router-lava-refactor
- Introduced a custom HTTP client with a 30-second timeout in the `getRequest` function to prevent hanging requests. - Added progress logging for the REST relay tests to provide better visibility during execution. - Included a completion message for successful test runs, improving feedback for end-to-end testing.
…into smart-router-lava-refactor
- Reduced the number of REST relay tests from 70 to 10, optimizing test execution time while maintaining reliability. - Updated progress logging to reflect the new test count, enhancing visibility during test runs. - Added a small delay between requests to prevent overwhelming the system, improving overall test stability.
…d init_e2e.sh - Reduced the maximum attempts for blockchain queries from 60 to 30 seconds, improving response time. - Simplified the logic in `operator_address` function by removing unnecessary error handling and echo statements. - Enhanced feedback during the execution of the `init_e2e.sh` script by adding a stabilization wait after transactions. - Improved overall script clarity and efficiency, ensuring smoother operation during end-to-end tests.
- Updated the `UpdateAllProviders` method in the consumer session manager test to verify that calling it with the same epoch does not result in an error, ensuring idempotent behavior. - Adjusted test assertions to reflect the expected outcome, improving test reliability and accuracy.
8ce459e to
5bd4952
Compare
…test - Added detailed logging for each virtual epoch signal to help diagnose hanging issues - Added elapsed time tracking for REST relay tests - Added 5-minute safety timeout to prevent indefinite hanging in REST relay tests - Helps identify exactly where test execution stalls in CI environment
…into smart-router-lava-refactor
- Removed unnecessary blank lines in the `runProtocolE2E` function to improve code readability and maintainability.
4a642c8 to
7cd3bad
Compare
7cd3bad to
a1093a2
Compare
a1093a2 to
774c766
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Major architectural refactoring that splits
lavapinto two distinct deployment modes and decouples the smart router from blockchain dependencies.Core Changes
1. Split lavap into two separate commands:
lavap rpcconsumer- Decentralized mode with blockchain pairinglavap rpcsmartrouter- Centralized/enterprise mode with static providers2. Disconnected rpcsmartrouter from blockchain:
Additional Improvements
Architecture Impact
Note: This PR consolidates 187 commits from the
smart-router-lava-refactorbranch.