Leap v5.0.1
At a Glance:
Leap 5.0.1 focuses on enhancing test frameworks, stability improvements, and HTTP protocol adjustments. Some notable achievements with this release include:
- Refined test suite for better reliability and coverage
- Enhanced stability through various bug fixes and improvements
- Improved HTTP protocol handling for better error reporting
Leap 5.0.1 Release Notes
Test Enhancements
Improved Test Suite Organization and Stability
Overview
Benefits
- Enhanced test reliability
- Reduced test flakiness
Achieved by
- Reorganizing socket-related tests
- Disabling subjective limits
Details
The test suite was optimized to reduce flakiness and improve reliability. This was achieved by reorganizing tests that listen on local sockets and disabling subjective limits during test runs to enhance stability.
Related Development
- Reorganize tests that listen on local socket.
- Disable subjective limits in tests for greater stability during test runs.
Stability Improvements
Enhanced Resilience to Network and Configuration Changes
Overview
Benefits
- Improved handling of excessive network traffic
- More robust configuration parsing
Achieved by
- Test coverage for traffic and connections
- Enhanced socket handling
- Updated configuration parsing mechanisms
Details
This release introduces improvements to manage high network traffic and numerous connections, along with more resilient configuration parsing mechanisms. These changes aim to ensure smoother operation through varied operational conditions.
Related Development
- Test coverage for two conditions: excessive network traffic or excessive number of connection.
- Changes to socket handling to improve continuous integration test passes.
- Additional enhancement to configuration parsing and check for chain_api_plugin, updated to search through options to be more resilient to changes in the timing of loading plugins.
HTTP Protocol Adjustments
Updated HTTP Error Codes for Better Clarity
Overview
Benefits
- Clearer error communication
Achieved by
- Changing HTTP error codes for specific limits
Details
Leap 5.0.1 updates the HTTP error codes for conditions where specific limits are exceeded, moving from a 429 to a 503 error code, to provide clearer communication about the nature of the error.
Related Development
Internals and Clean Code
Improvements in Configuration Reporting and Dependency Updates
Overview
Benefits
- Improved error reporting
- Support for large mapped tests
Achieved by
- Clearer help texts and full path reporting
- Updating chainbase version
Details
The release enhances error reporting and configuration management with clearer help texts and full path error reporting for failed operations. Additionally, updates to dependencies like chainbase support new features and fix issues.
Related Development
- Clearer help text for
read-only-threads
defaults. - Provide the full path of the snapshot file that can't be renamed if the rename fails.
- Brings in new version of chainbase to support large mapped tests.
- Brings in new version of chainbase to fix issues on macos and linux 6.7.
Full Change Log
- Reorganize tests that listen on local socket
- Test coverage for two conditions excessive network traffic or excessive number of connection
- Changes to socket handling to improve continuous integration test passes
- Disable subjective limits in tests for greater stability during test runs
- Guard against errors when exceeding `http-max-requests-in-flight
- Additional enhancement to configuration parsing and check for chain_api_plugin, updated to search through options to be more resilient to changes in the timing of loading plugins
- Check and switch to
lib_catchup
when starting to sync - Revs chainbase version to include a bug fix. Leap will now start up cleanly in non-
mapped_private
mode after failing to startup inmapped_private
mode due to lack of swap and/or physical memory - Add more robust configuration parsing and enhance check for
chain_api_plugin
. This change addresses failure to provide read-only transaction when using esoteric config pattern - Prevent error on shutdown by extending the life of
http_plugin_state
thereby ensuring no invalid memory accesses - 503 is now the HTTP error return code for exceeding
http-max-bytes-in-flight-mb
orhttp-max-in-flight-requests
. Previous code was 429 - Clearer help text for
read-only-threads
defaults - Provide the full path of the snapshot file that can't be renamed if the rename fails
- Now report read-only API not enabled to caller, when
read-only-threads
is not configured - Brings in new version of chainbase to support large mapped tests
- Brings in new version of chainbase to fix issues on macos and linux 6.7