Skip to content

Latest commit

 

History

History
156 lines (98 loc) · 5.94 KB

File metadata and controls

156 lines (98 loc) · 5.94 KB

Changelog

All notable changes to this project will be documented in this file.

[Unreleased]

Changed

  • The Stackable scaler now ensures that a TrinoCluster has changed to ready more than 5 seconds ago before marking it as ready (#68).
  • Emit less attributes in tracing to make logs easier readable (#86).
  • BREAKING: Only bind to IPv4 (0.0.0.0) instead of IPv6 (::). On most Linux systems, binding to :: dual-stacks, on Windows this would likely bind to IPv6 only. As a user reported that they run into Address family not supported by protocol (os error 97), we now only bind to IPv4. There was some attempt to make it portable work on IPv4 and IPv6 (optional), but that turned out to be a bigger story for later (#91).

Fixed

  • Set connection and response timeout for Redis connections (#85).

[0.5.0] - 2025-03-14

Added

  • Support configuring compression for OTEL (#70).
  • Improve tracing details by adding a tower_http::trace::TraceLayer that creates spans for every HTTP request (#71).
  • Support compressing HTTP contents, previously the content was always uncompressed. This consumes more CPU, but also reduces the data amount sent to Trino clients. E.g. trino-cli by default asks for gzip compressed content (#74).

Changed

  • Improve tracing for running queries on Trino, adding spans for the request to Trino and parsing (#71).
  • Improve performance by using serde_json::value::RawValue for the data and columns attributes to avoid unneeded deserialization and serialization of them (#73).
  • Bumped to Rust 2024 edition (#76).

[0.4.1] - 2025-03-03

Fixed

  • Add the libpython3-dev package to the container image. This prevented the startup of trino-lb (#66).

[0.4.0] - 2025-02-28

Added

  • Support configuring the scaler reconcile interval (#61).
  • Add simple web-based dashboard that shows the current state and query counts of all clusters. This makes it easier to debug state transitions of clusters (#62).
  • Add Unhealthy cluster state. This state is entered once the readiness check of a cluster in the Ready state fails. The cluster will remain in the Unhealthy state until the scaler marks that cluster as Ready again. Unhealthy clusters won't get any new queries; if all clusters are unhealthy, new queries will be queued. The cluster health check interval can be configured using the scaler reconcile interval (#63).

Changed

  • Set defaults to oci (#57).

Fixed

  • Reduce max poll delay from 10s to 3s to have better client responsiveness

[0.3.2] - 2024-08-20

Changed

  • Don't use the aws-lc-rs crate (introduced in #45), as it broke the Tilt build (#46).

Fixed

  • Fix division by zero when all clusters of a cluster group are not ready to accept queries (#47).

[0.3.1] - 2024-08-16

Fixed

  • Install default crypto provider, this prevent servers using https from starting (#45).

[0.3.0] - 2024-08-15

Added

  • Added a configuration to specify the port numbers for http, https and metrics (#43).

Changed

  • BREAKING: Ensure no unknown config properties have been set. This is to make the user aware that what he tried to configure is not a valid configuration. You may need to adapt your configuration and remove any unknown properties (#43).
  • Bump dependencies, such as opentelemetry 0.23 -> 0.24, kube 0.92 -> 0.93 and redis 0.25 -> 0.26 (#41).

[0.2.3] - 2024-07-01

Fixed

  • URL-escape trino cluster credentials (#40).

[0.2.2] - 2024-06-28

Fixed

  • Periodically set all clusters that are not scaled to Ready. Previously this was only done during startup, which caused problems when the persistence was wiped while trino-lb is running (#37).

[0.2.1] - 2024-06-21

Fixed

  • Use redis ConnectionManager to reconnect on Redis connection failures. Previously trino-lb would stop working once the Redis Pod restarted. This change only affects the single Redis instance connection, not the cluster mode connection, as a ClusterConnection does not seem to support a ConnectionManager (#34).

[0.2.0] - 2024-04-07

Added

  • BREAKING: Add support for single instance redis persistence (without Redis cluster mode). This is breaking, because you need to set trinoLb.persistence.redis.clusterMode: true in your config to keep using the cluster mode (#15).

[0.1.0] - 2024-01-16