All notable changes to this project will be documented in this file.
- 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 theReady
state fails. The cluster will remain in theUnhealthy
state until the scaler marks that cluster asReady
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).
- Set defaults to oci (#57).
- Reduce max poll delay from 10s to 3s to have better client responsiveness
- Fix division by zero when all clusters of a cluster group are not ready to accept queries (#47).
- Install default crypto provider, this prevent servers using https from starting (#45).
- Added a configuration to specify the port numbers for
http
,https
andmetrics
(#43).
- 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 andredis
0.25 -> 0.26 (#41).
- URL-escape trino cluster credentials (#40).
- 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).
- 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 aConnectionManager
(#34).
- 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).