Skip to content

v5.11.12

Use separate thread for ZooKeeper query peer tracking. Corrected ClickProx priority handling for query head pooling. Fixed INSERT INTO hanging bug.

This release contains bug fixes to Hydrolix v5.11. Refer to the release notes to see other notable feature announcements and information for this version.

Upgrade⚓︎

Don't skip minor versions when upgrading or downgrading

Skipping versions when upgrading or downgrading Hydrolix can result in database schema inconsistencies and cluster instability. Always upgrade or downgrade sequentially through each minor version, moving to every intermediate minor release in turn rather than jumping directly from the starting version to the target.

Point releases are safe to skip. Upgrade through each minor version, using the latest point release of each one. Don't install every point release along the way.

For example, to go from v5.10 to v6.1, upgrade sequentially to v5.11.10 -> v6.0.19 -> v6.1.10. Downgrading works the same way, in reverse.

Apply the new Hydrolix operator⚓︎

If you have a self-managed installation, apply the new operator directly with the kubectl command examples. If you're using Hydrolix-supplied tools to manage your installation, follow the procedure prescribed by those tools.

1
2
3
4
VERSION=v5.11.12
BASEURL="https://www.hydrolix.io/operator/${VERSION}/operator-resources"

kubectl apply -f "${BASEURL}?namespace=${HDX_KUBERNETES_NAMESPACE}&gcp-storage-sa=${GCP_STORAGE_SA}"
1
2
3
4
VERSION=v5.11.12
BASEURL="https://www.hydrolix.io/operator/${VERSION}/operator-resources"

kubectl apply -f "${BASEURL}?namespace=${HDX_KUBERNETES_NAMESPACE}&aws-storage-role=${AWS_STORAGE_ROLE}"
1
2
3
4
VERSION=v5.11.12
BASEURL="https://www.hydrolix.io/operator/${VERSION}/operator-resources"

kubectl apply -f "${BASEURL}?namespace=${HDX_KUBERNETES_NAMESPACE}"

Changelog⚓︎

Bug fixes⚓︎

Core fixes⚓︎

  • Fixed a class of synchronization, locking, failure, and crash bugs by removing all ZooKeeper I/O from the query path. Now the query peer list collection occurs in its own thread and is published to a snapshot used by query threads.

  • Prevented an unbounded, hanging INSERT INTO correlated with stale connections in PostgreSQL pools. The lack of a write timeout to the catalog database when using the INSERT INTO feature meant that the application client could time out first, effectively losing the data. The new tunables catalog_write_timeout_ms and catalog_tcp_user_timeout_ms bound catalog write operations and detect broken pool connections. Additional tunables catalog_slow_write_warn_ms and storage_slow_finalize_warn_ms show which part of the process is slow. These warnings will manifest as slow catalog and slow partition finalize messages in the hydro.logs table at the WARN level.

Cluster operations fixes⚓︎

  • Corrected the generation of the priority setting in the ClickProx configuration file when handling query head pool routes. Earlier, the priority setting from the spec was dropped, meaning that every route had the same priority.