Skip to content

Releases: fluxninja/aperture

Aperture v2.31.1-rc.1

12 Jan 12:30
Compare
Choose a tag to compare
Aperture v2.31.1-rc.1 Pre-release
Pre-release

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

10 Jan 06:58
Compare
Choose a tag to compare

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

10 Jan 06:23
Compare
Choose a tag to compare
Aperture v2.31.0-rc.1 Pre-release
Pre-release

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

08 Jan 12:11
9159bc6
Compare
Choose a tag to compare

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

08 Jan 11:32
9159bc6
Compare
Choose a tag to compare
Aperture v2.30.1-rc.1 Pre-release
Pre-release

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

05 Jan 08:12
49006a3
Compare
Choose a tag to compare

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 with curl for HTTP requests to improve reliability
    and performance.

    • Modified flow.go to better manage inflight requests.

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

05 Jan 07:37
49006a3
Compare
Choose a tag to compare
Aperture v2.30.0-rc.1 Pre-release
Pre-release

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 with curl for HTTP requests to improve reliability
    and performance.

    • Modified flow.go to better manage inflight requests.

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

04 Jan 11:50
e506d1b
Compare
Choose a tag to compare

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

04 Jan 11:32
e506d1b
Compare
Choose a tag to compare
Aperture v2.29.4-rc.1 Pre-release
Pre-release

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

04 Jan 05:17
b4abafb
Compare
Choose a tag to compare

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.