Skip to content

Migration Guide 3.3

Guillaume Smet edited this page Aug 22, 2023 · 17 revisions

Elasticsearch

Dev Services

The Elasticsearch Dev Services now default to starting Elasticsearch 8, instead of 7.17 previously.

High-Level Client

The extension for the Elasticsearch High-Level Client was deprecated in Quarkus 3.0 because the client had been deprecated by Elastic and had licensing issues.

This extension has now been removed completely.

You should use the Elasticsearch Java Client instead. See the Elasticsearch client guide for more information.

Flyway

Additional dependency required for Oracle users

Quarkus 3.3.x upgrades to Flyway 9.20.0, which extracts the Oracle DB code to a separate dependency. See the Flyway extension documentation for more information.

Defaults for projectable/sortable on geo-point fields

Hibernate Search 6.2 changed how defaults are handled for geo-point fields.

If your Hibernate Search mapping includes geo-point fields that are using the default value for the projectable option, and are using either the default value or Sortable.NO for the sortable option, Elasticsearch schema validation will fail on startup because of missing docvalues on those fields.

To address that, either:

  • Revert to the previous defaults by adding projectable = Projectable.NO to the mapping annotation of relevant geo-point fields.

  • Or recreate your Elasticsearch indexes and reindex your database. The easiest way to do so is to use the MassIndexer with dropAndCreateSchemaOnStart(true).

Different DB schema for outbox-polling

If you use the quarkus-hibernate-search-orm-outbox-polling extension, be aware that the database schema for the tables used by that extension changed.

See https://docs.jboss.org/hibernate/search/6.2/migration/html_single/#data-format for help on how to migrate to the new schema.

Deprecated/renamed configuration properties

  • quarkus.hibernate-search-orm.automatic-indexing.synchronization.strategy is now deprecated in favor of quarkus.hibernate-search-orm.indexing.plan.synchronization.strategy.

  • quarkus.hibernate-search-orm.automatic-indexing.enable-dirty-check is now deprecated with no alternative to replace it. After its removal in a future version, a dirty check will always be performed when considering whether to trigger reindexing.

GraalVM

We are now relying consistently on the org.graalvm.sdk:graal-sdk artifact (we previously used the non-API svm artifact).

The dependencies to this artifact are marked as provided in Quarkus so they are not transitive: if you want to include GraalVM substitutions in your applications, please add it as a dependency yourself from now on.

It is part of the BOM so you don’t have to define the version.

Current version

Migration Guide 3.17

Next version in main

Migration Guide 3.18

Clone this wiki locally