Allure TestOps instance does not start after upgrade to version 5 with the errors related to liquibase exceptions

Modified on Tue, 15 Oct at 5:55 PM


Symptoms

  1. The application does not start.
  2. The application log contains errors with the following strings
ERROR 1 --- [allure-ee-testops] [           main] o.s.boot.SpringApplication               : Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'testResultTreeSelectionController' defined in URL [jar:file:/app/lib/testops-service.jar!/io/qameta/allure/report/testresulttreeselect/TestResultTreeSelectionController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'testResultTreeSelectApiHandler' defined in URL [jar:file:/app/lib/allure-report-service-3.125-SNAPSHOT.jar!/io/qameta/allure/report/testresulttreeselect/TestResultTreeSelectApiHandler.class]: Unsatisfied dependency expressed through constructor parameter 1: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: liquibase.exception.CommandExecutionException: liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for changeset db/changelog/db.changelog_tree_node.xml::tree-node-12::pratushnyi:

Reason: liquibase.exception.DatabaseException: ERROR: syntax error at or near "nulls"

Position: 173 [Failed SQL: (0) create unique index if not exists tree_node_tree_id_parent_id_custom_field_value_id_key on tree_node using btree(tree_id, parent_id, custom_field_value_id) nulls not distinct]

Root cause

If you see these errors, this means you've ignored the requirement on the minimal version of PostgreSQL which is 15 for all the releases of Allure TestOps delivered after 1st March 2024. Please refer to the documentation:

- https://docs.qameta.io/allure-testops/release-notes/ver4/#08-april-2024--allure-testops-4251

- https://github.com/orgs/allure-framework/discussions/2125

- https://docs.qameta.io/allure-testops/release-notes/#15-october-2024--allure-testops-5114-server-version

The end users of Allure TestOps were well informed on this requirement in advance to this important change.

How to fix

The database version upgrade must happen before the upgrade of the version of Allure TestOps from 4.26.5 to any release of version 5 as it was announced in the documentation and discussion.

You need to restore the previous state of the database from the backup.

Then perform the upgrade of the PostgreSQL sever.

Then complete the migration process described in our migration guide https://docs.qameta.io/allure-testops/migrations/to-5/


We cannot guarantee correct working and start of the application if the PostgreSQL upgrade process to version 15 and higher would be performed after you faced the described issue.




Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article