-
Notifications
You must be signed in to change notification settings - Fork 822
feat(gzip): add gzip configuration support and update default settings #2867
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
Open
Aias00
wants to merge
52
commits into
alibaba:main
Choose a base branch
from
Aias00:feat/default_gzip_on
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
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
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2867 +/- ##
==========================================
+ Coverage 35.91% 44.99% +9.08%
==========================================
Files 69 82 +13
Lines 11576 13347 +1771
==========================================
+ Hits 4157 6006 +1849
+ Misses 7104 6993 -111
- Partials 315 348 +33
🚀 New features to boost your workflow:
|
…core components installation
… in ParallelRunner
… backoff duration
…lelRunner timeout handling
… rate limiting tests
…s for configuration to take effect
…e logic - Fix TestRps10: reduce from (10,3000) to (5,50) threads/requests - Fix TestRps50: reduce from (10,5000) to (5,250) threads/requests - Restore gzip disable logic during rate limiting tests - Add proper timeout and request interval control - Restore 10ms sleep for rate-limited requests
- TestRps50: reduce threads from 5 to 3, requests from 250 to 150 - TestRps10Burst3: reduce threads from 30 to 20 - TestRpm10Burst3: reduce threads from 30 to 20 - This should reduce pressure on rate limiter and allow more requests to pass
- TestRps10: adjust to 3 threads, 60 requests for better RPS control - TestRps50: adjust to 4 threads, 200 requests for higher RPS target - TestRps10Burst3: adjust to 15 threads, 60 requests for burst testing - TestRpm10Burst3: adjust to 15 threads, 90 requests for burst testing - Fix request interval calculation: reduce from 1000ms to 100ms per thread - This should achieve target RPS ranges while avoiding rate limiter throttling
- Deleted multiple log files for higress, gateway, and coverage conformance tests to clean up the repository. - Removed setup and execution logs for various test jobs, including linting and building processes. - This cleanup helps maintain a tidy project structure and reduces unnecessary file clutter.
- TestRps50: reduce to 2 threads, 100 requests for conservative testing - TestRps10Burst3 & TestRpm10Burst3: reduce threads to 8, adjust request counts - Increase request interval to 200ms/thread for smoother rate limiting - Increase burst-multiplier from 1 to 2 for all non-burst tests - Extend configuration wait time to 10 seconds for rate limiter stability - These changes should help achieve target RPS ranges more consistently
- ConfigMapGzipEnvoy: reduce test cases from 4 to 2 (disable/enable only) - ConfigmapGzip: reduce test cases from 4 to 2 for faster execution - Increase Envoy config wait time from 15s to 30s for convergence - Increase HTTP config wait time from 10s to 15s for propagation - Focus on critical gzip configurations to reduce test duration - Should significantly reduce 300s timeout issues
…r accurate measurements - Introduced a configuration to disable gzip compression during rate limiting tests. - Applied the updated configuration to ensure consistent test results. - Increased wait time for configuration to take effect to improve test reliability.
- Enhanced the test to verify that gzip compression is disabled by checking the absence of the content-encoding header. - Implemented a retry mechanism to ensure the configuration takes effect, requiring three consecutive successful checks. - This change aims to increase the reliability of the tests by ensuring accurate measurement of rate limiting behavior.
…sts to ensure accurate measurements
…state - Added functionality to store and restore the original higress-config in ConfigMap and HttpRouteLimiter tests. - Implemented context-based timeouts for fetching the current configuration to ensure reliability. - This change aims to maintain test integrity by ensuring the original configuration is restored after tests are executed.
…eservation - Removed the logic for storing and restoring the original higress-config state in ConfigMap and HttpRouteLimiter tests to simplify the test flow. - Enhanced logging for better visibility during test execution. - This change aims to improve test performance and maintainability by reducing complexity.
- Updated error handling in ConfigMap and HttpRouteLimiter tests to use logging instead of fatal termination, allowing for better test flow and debugging. - Improved log messages to provide clearer context on failures during test execution. - This change aims to enhance the reliability and maintainability of the tests by providing more informative output without abrupt test failures.
…ation checks - Modified the path in the ConfigMapGlobalEnvoy test to specify the cluster in dynamic clusters, ensuring precise validation of the Envoy configuration. - This change aims to enhance the accuracy of the conformance tests by targeting the correct configuration structure.
- Added detailed logging for test case application and assertion execution in the ConfigMapGlobalEnvoy test. - Improved visibility into the test flow by logging success and failure messages, aiding in debugging and understanding test outcomes. - This change aims to provide clearer insights during test execution, enhancing overall test reliability.
- Introduced a new debug function to log detailed information about the cluster configuration during test execution, enhancing visibility into the Envoy configuration. - Updated the assertion logging to include special debugging for the per_connection_buffer_limit_bytes field, aiding in troubleshooting. - This change aims to improve the debugging process and provide clearer insights into the test outcomes, thereby enhancing overall test reliability.
- Enhanced the debug function to log the number of elements in dynamic_clusters and configs arrays, improving clarity in test output. - Adjusted configuration options for better alignment with expected parameters, including pod details and output format. - This change aims to provide more informative logs during test execution, aiding in troubleshooting and enhancing overall test reliability.
…ce readiness checks - Added functionality to wait for the backend service to be ready before sending traffic, improving test reliability. - Implemented logging for the backend service readiness and traffic request, providing clearer insights during test execution. - This change aims to ensure that the test environment is fully prepared before assertions are made, enhancing overall test accuracy.
…guration checks - Modified the test cases to include additional configuration parameters for downstream and upstream settings, improving the accuracy of Envoy configuration validation. - Adjusted idle timeout settings and added assertions for new parameters, ensuring comprehensive coverage of the configuration options. - This change aims to enhance the reliability and effectiveness of the conformance tests by validating a broader range of configuration scenarios.
- Removed redundant logging statements in the ConfigmapGzip and ConfigMapGzipEnvoy tests to enhance clarity and reduce noise during test execution. - Simplified the test case iteration by eliminating unnecessary index tracking, improving code readability. - Updated error handling to provide more concise failure messages, ensuring quicker identification of issues during test runs. - Overall, these changes aim to improve the maintainability and efficiency of the conformance test suite.
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.
Ⅰ. Describe what this PR did
add gzip configuration support and update default settings
Ⅱ. Does this pull request fix one issue?
fixes #2862
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews