Releases: fluxninja/aperture
Aperture v2.31.1-rc.1
Changelog
List of aperture PRs merged since 2.31.0 release. For the full list of changes, see list of changes
Engine tests (#3142)
-
New Features
-
Introduced the ability to adjust the capacity of concurrency limiters
dynamically. -
Enhanced concurrency scheduling with refined initialization and
internal handling. -
Improved the flow control engine's registration function for more
precise callback handling. -
Bug Fixes
-
Streamlined concurrency test patterns to better reflect real-world
usage. -
Altered the flow control testing logic for more accurate expected
request calculations. -
Refactor
-
Optimized internal concurrency limiter structure for increased
efficiency and maintainability. -
Refined the flow control engine's registration parameters for clarity
and functionality. -
Tests
-
Added new test cases to validate registration and processing within
the flow control engine. -
Expanded unit tests to cover the new maximum inflight duration
functionality without return. -
Chores
-
Updated
.gitignore
to better manage file tracking within the version
control system.
Use io.ReadAll() and add more persistence-related logs (#3140)
- Use io.ReadAll to read from object storage
- Add some more debug-level logs around persistent storage
Aperture v2.31.0
Changelog
List of aperture PRs merged since 2.30.0 release. For the full list of changes, see list of changes
New dashboard panel: tokens adjusted to maintain fairness (#3139)
-
New Features
-
Integrated scheduler options into various flow control components for
enhanced policy configuration. -
Enhancements
-
Improved Grafana dashboard visualizations for concurrency, load, and
quota schedulers to reflect new scheduler configurations.
Keep reference to the storage client so that we can close it during Stop() (#3135)
- Refactor
- Improved the initialization process for object storage handling.
Fairness (#3134)
-
New Features
-
Introduced
fairness_label_key
for enforcing fairness in workload
scheduling.- Added new fairness-related metrics for observability.
-
Documentation
-
Updated configuration specification with
fairness_label_key
details.- Revised observability documentation to reflect new metrics.
-
Refactor
-
Enhanced the Scheduler interface with additional workload
identification.- Updated scheduling logic to incorporate fairness in request handling.
-
Chores
- Adjusted pre-commit spell check configuration.
-
Bug Fixes
- Removed obsolete metrics related to previous scheduling mechanisms.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Harjot Gill [email protected]
Aperture v2.31.0-rc.1
Changelog
List of aperture PRs merged since 2.30.0 release. For the full list of changes, see list of changes
New dashboard panel: tokens adjusted to maintain fairness (#3139)
-
New Features
-
Integrated scheduler options into various flow control components for
enhanced policy configuration. -
Enhancements
-
Improved Grafana dashboard visualizations for concurrency, load, and
quota schedulers to reflect new scheduler configurations.
Keep reference to the storage client so that we can close it during Stop() (#3135)
- Refactor
- Improved the initialization process for object storage handling.
Fairness (#3134)
-
New Features
-
Introduced
fairness_label_key
for enforcing fairness in workload
scheduling.- Added new fairness-related metrics for observability.
-
Documentation
-
Updated configuration specification with
fairness_label_key
details.- Revised observability documentation to reflect new metrics.
-
Refactor
-
Enhanced the Scheduler interface with additional workload
identification.- Updated scheduling logic to incorporate fairness in request handling.
-
Chores
- Adjusted pre-commit spell check configuration.
-
Bug Fixes
- Removed obsolete metrics related to previous scheduling mechanisms.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Harjot Gill [email protected]
Aperture v2.30.1
Changelog
List of aperture PRs merged since 2.30.0 release. For the full list of changes, see list of changes
Aperture v2.30.1-rc.1
Changelog
List of aperture PRs merged since 2.30.0 release. For the full list of changes, see list of changes
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.
Aperture v2.30.0-rc.1
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.
Aperture v2.29.4
Changelog
List of aperture PRs merged since 2.29.3 release. For the full list of changes, see list of changes
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.
Aperture v2.29.4-rc.1
Changelog
List of aperture PRs merged since 2.29.3 release. For the full list of changes, see list of changes
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.
Aperture v2.29.3
Changelog
List of aperture PRs merged since 2.29.2 release. For the full list of changes, see list of changes
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.