Aperture v2.30.0
Changelog
List of aperture PRs merged since 2.29.0 release. For the full list of changes, see list of changes
Add pgsql scenario (#3125)
-
New Features
-
Introduced a load testing script for PostgreSQL database concurrency.
-
Added a new Dockerfile for building a Go application with health
check. -
Implemented PostgreSQL database connection and handling in the Go SDK
example. -
Enhancements
- Search functionality now supports custom HTTP headers.
-
Updated Kubernetes configurations with namespace, labels, and
environment variables. -
Bug Fixes
-
Fixed the initialization of
inflightRequests
to prevent logic errors
in request handling. -
Refactor
-
Replaced
wget
withcurl
for HTTP requests to improve reliability
and performance.- Modified
flow.go
to better manage inflight requests.
- Modified
Co-authored-by: Hardik Shingala [email protected]
Deinit on failed start (#3124)
- Bug Fixes
- Improved the application's error handling during startup failures.
- Updated error messages for clarity when registering flow control
components.
Co-authored-by: Harjot Gill [email protected]
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Fix unregisters (#3122)
-
Refactor
- Updated log messages for clearer understanding of system status.
- Enhanced error handling and warnings for metric operations.
-
Bug Fixes
-
Fixed issues with the removal of metrics to ensure proper cleanup
during system operations.
Fix schedulers not getting executed when cache key is not set (#3121)
-
Refactor
-
Improved the initialization process for cache lookup results to
enhance performance. -
Style
-
Updated variable naming for clarity and consistency in the
configuration scripts.
Fix wait time based deadline calculation (#3120)
Re-order execution of components in engine (#3118)
-
Documentation
-
Updated concurrency limiter documentation to clarify counting only
accepted requests. -
Added notes on request prioritization to provide context for
concurrency scheduler behavior. -
Introduced documentation for three new Prometheus metrics related to
cache operations. -
Refactor
- Simplified naming and labels for cache-related metrics.
- Overhauled cache lookup methods for improved control flow and logic.
-
Refined the handling of different scheduler types in the flow control
engine. -
Tests
-
Adjusted test logic to align with the refactored control flow in the
flow control engine.
Drop deprecated module and fix tests (#3114)
-
New Features
-
Introduced a
retry_policy
configuration for improved object storage
reliability with customizable timeout and backoff settings. -
Refactor
-
Transitioned to a new utility library for pointer operations across
the codebase to enhance maintainability. -
Bug Fixes
-
Ensured consistency in pointer operations to prevent potential
configuration issues in Kubernetes resources.
Overhaul concept docs (#3087)
- Documentation
- Updated internal documentation links and sidebar positions for
improved navigation and clarity. - Introduced new documentation for the Concurrency Limiter and Request
Prioritization features. - Enhanced existing documentation with clearer explanations and updated
references.- Reorganized content to better reflect feature hierarchies and usage.
- Added new sections on advanced concepts, including detailed guides on
scheduling and rate limiting.
Add concurrency limiter tests (#3083)
Description of change
- Update IO package imports and fix function signatures
- Add new test file for concurrency limiter
- Remove unused imports and variables
- Refactor flowRunner and checkResults functions
- Add test for limiter with basic limit
Summary by CodeRabbit
-
Tests
- Implemented tests for the concurrency limiter functionality.
-
Refactor
-
Modified the
NewGlobalTokenBucket
function's parameters for clarity.- Updated package and logging details in rate limiter tests.
-
Reformatted the
NewGlobalTokenCounter
function's parameters for
better readability. -
Chores
-
Removed unused import and declaration from the flow control policy
provider. -
Style
-
Updated import statements to reflect the transition to newer IO
utility functions.
Fix default check response status (#3081)
-
Refactor
-
Improved log messaging for empty request IDs with appropriate log
levels. -
New Features
-
Enhanced flow control policies with the ability to specify default
response status codes for denied requests.
Fix crash with disabled object storage (#3078)
Fixes: #3077
-
Refactor
-
Updated the dependency injection setup for the
objectstorage
module
to streamline service provisioning. -
Documentation
-
Adjusted documentation to reflect changes in the
objectstorage
service interface.