From fa00ac2fa9b20d1313d0ab83891fa13d84591d93 Mon Sep 17 00:00:00 2001 From: Alvar Penning Date: Fri, 6 Dec 2024 12:11:12 +0100 Subject: [PATCH 1/3] schema/pgsql: Drop checkcommand_argument.argument_key storage mode During #792, the storage mode for this column got lost. After further inspection, setting a distinct storage mode for a column of type varchar seems unnecessary. --- schema/pgsql/schema.sql | 1 - 1 file changed, 1 deletion(-) diff --git a/schema/pgsql/schema.sql b/schema/pgsql/schema.sql index a68d41a1d..0ba8e49db 100644 --- a/schema/pgsql/schema.sql +++ b/schema/pgsql/schema.sql @@ -855,7 +855,6 @@ CREATE TABLE checkcommand_argument ( ALTER TABLE checkcommand_argument ALTER COLUMN id SET STORAGE PLAIN; ALTER TABLE checkcommand_argument ALTER COLUMN environment_id SET STORAGE PLAIN; ALTER TABLE checkcommand_argument ALTER COLUMN checkcommand_id SET STORAGE PLAIN; -ALTER TABLE checkcommand_argument ALTER COLUMN argument_key SET STORAGE PLAIN; ALTER TABLE checkcommand_argument ALTER COLUMN properties_checksum SET STORAGE PLAIN; COMMENT ON COLUMN checkcommand_argument.id IS 'sha1(environment.id + checkcommand_id + argument_key)'; From 6ad1316d2572223783f96507b9e59d4e89aeb53f Mon Sep 17 00:00:00 2001 From: Alvar Penning Date: Mon, 16 Dec 2024 17:06:39 +0100 Subject: [PATCH 2/3] Update AUTHORS and .mailmap The AUTHORS file was updated with the following command, moving duplicate entities to the .mailmap first. > $ git log --use-mailmap --format='format:%aN <%aE>' v1.0.0..HEAD \ > | grep -v '^dependabot' >> AUTHORS > $ sort -uo AUTHORS AUTHORS --- .mailmap | 1 + AUTHORS | 1 + 2 files changed, 2 insertions(+) diff --git a/.mailmap b/.mailmap index bd13a630d..850e5fd7b 100644 --- a/.mailmap +++ b/.mailmap @@ -1,4 +1,5 @@ Alexander A. Klimov +Alvar Penning <8402811+oxzi@users.noreply.github.com> Diana Flach Diana Flach Diana Flach diff --git a/AUTHORS b/AUTHORS index 7971eb292..5f2666a9c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,6 +4,7 @@ Eric Lippmann Feu Mourek Henrik Triem Johannes Meyer +Jonada Hoxha Julian Brost Michael Friedrich Noah Hilverling From bd780e28869f5433e4d547b79f96173bc8be0a08 Mon Sep 17 00:00:00 2001 From: Alvar Penning Date: Wed, 18 Dec 2024 10:45:22 +0100 Subject: [PATCH 3/3] Release Icinga DB Version 1.2.1 --- CHANGELOG.md | 28 ++++++++++++++++++- doc/04-Upgrading.md | 6 ++++ internal/version.go | 2 +- .../mysql/upgrades/{1.3.0.sql => 1.2.1.sql} | 0 .../pgsql/upgrades/{1.3.0.sql => 1.2.1.sql} | 0 5 files changed, 34 insertions(+), 2 deletions(-) rename schema/mysql/upgrades/{1.3.0.sql => 1.2.1.sql} (100%) rename schema/pgsql/upgrades/{1.3.0.sql => 1.2.1.sql} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73b88fb81..65002ca2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,38 @@ # Icinga DB Changelog +## 1.2.1 (2024-12-18) + +This is a maintenance release that addresses HA issues and includes a number of other fixes. + +Most prominent, crashes caused by an invalid HA state were investigated and fixed mainly by the following changes. + +* Ensure that the crucial HA realization logic is always aborted when its timeout is reached. #800 +* Give up the HA leadership role if it seems another node is also active. #825 +* Reduce database deadlocks in the HA realization domain with exclusive locking. #830 + +Other notable changes include the following: + +* ACL and database support for RedisĀ®[\*](doc/TRADEMARKS.md#redis). #874, icinga-go-library#50, icinga-go-library#52 +* Alter the database schema to allow longer user input. #779, #792, #856 +* Mitigate some NULL values for icingadb-migrate. #767 +* Retry certain database errors for PostgreSQL. icinga-go-library#59 +* Retry RedisĀ® timeout errors for `XREAD`. icinga-go-library#23 +* Additional tests were written. #771, #777, #803, #806, #807, #808 +* Parts of the code have been moved to our [icinga-go-library](https://github.com/Icinga/icinga-go-library) for use by our other Go daemons. #747 +* Update dependencies. [26 times](https://github.com/Icinga/icingadb/pulls?q=is%3Apr+milestone%3A1.2.1+label%3Adependencies) + +### Schema + +A schema upgrade is available that allows longer user input as listed above. +Please follow the [upgrading documentation](doc/04-Upgrading.md#upgrading-to-icinga-db-v121). + ## 1.2.0 (2024-04-11) This release addresses multiple issues related to fault recoveries, with a particular focus on retryable database errors that may occur when using Icinga DB with database clusters. Since there may be a large number of errors that are resolved by retrying after a certain amount of time, -#698 changed the retry behavior to retry every database-related error for five minutes. +\#698 changed the retry behavior to retry every database-related error for five minutes. This helps Icinga DB survive network hiccups or more complicated database situations, such as working with a database cluster. diff --git a/doc/04-Upgrading.md b/doc/04-Upgrading.md index 74382e58f..416f68490 100644 --- a/doc/04-Upgrading.md +++ b/doc/04-Upgrading.md @@ -3,6 +3,12 @@ Specific version upgrades are described below. Please note that version upgrades are incremental. If you are upgrading across multiple versions, make sure to follow the steps for each of them. +## Upgrading to Icinga DB v1.2.1 + +Please apply the `1.2.1.sql` upgrade script to your database. For package installations, you can find this file at +`/usr/share/icingadb/schema/mysql/upgrades/` or `/usr/share/icingadb/schema/pgsql/upgrades/`, depending on your +database vendor. + ## Upgrading to Icinga DB v1.2.0 Please apply the `1.2.0.sql` upgrade script to your database. For package installations, you can find this file at diff --git a/internal/version.go b/internal/version.go index d1aab39f8..c6be6755e 100644 --- a/internal/version.go +++ b/internal/version.go @@ -7,4 +7,4 @@ import ( // Version contains version and Git commit information. // // The placeholders are replaced on `git archive` using the `export-subst` attribute. -var Version = version.Version("1.2.0", "$Format:%(describe)$", "$Format:%H$") +var Version = version.Version("1.2.1", "$Format:%(describe)$", "$Format:%H$") diff --git a/schema/mysql/upgrades/1.3.0.sql b/schema/mysql/upgrades/1.2.1.sql similarity index 100% rename from schema/mysql/upgrades/1.3.0.sql rename to schema/mysql/upgrades/1.2.1.sql diff --git a/schema/pgsql/upgrades/1.3.0.sql b/schema/pgsql/upgrades/1.2.1.sql similarity index 100% rename from schema/pgsql/upgrades/1.3.0.sql rename to schema/pgsql/upgrades/1.2.1.sql