Skip to content

Upgrade Guide

Upgrade process

Upgrade is the same process as installation.

The content of the config folders and the data folder of the DB Web Services module will not be overwritten.

However, special care must be taken in case of DB Web Services.

If the data structure version number of the new DB Web Services is higher than that of the existing old DB Web Services, the updateMode configuration parameter controls how the upgrade will be performed when DB Web Services service is started:

updateMode: EXIT|DROP|REINDEX

The available options are as follows.

  • EXIT: the service start process exits if any change is detected. Afterwards updateMode parameter must be set to DROP or REINDEX to start, or you should migrate back to the previous version.
  • DROP: the existing table and index data will be dropped.
  • REINDEX: the existing tables will be reindexed.

Upgrading from old versions

If you are upgrading from old versions, please be aware of the following changes.

Since 25.3.0

Search engine of DB Web Services is replaced with a new version. It requires multiple adjustments.

Application properties update

Application properties of DB Web Services, Task Manager and Gateway modules need to be aligned according to the tables below. Unless explicitly stated, you do not have to modify the value of the properties, only their names.

DB Web Services

application.properties Necessary change
if you have properties with both of these prefixes:
  • com.chemaxon.zetor.settings.crdb.
  • com.chemaxon.zetor.settings.gcrdb.
Check the value of the com.chemaxon.zetor.settings.scheme property. That property specifies which of these prefixes were actually used by the application. Change the properties with that prefix according to the following rows in this table, and remove the ones with the other prefix.
com.chemaxon.zetor.settings.scheme Rename to chemaxon.microservices.db.migration.scheme
com.chemaxon.zetor.settings.indexDir Rename to chemaxon.microservices.db.datasource.h2.dir
com.chemaxon.zetor.settings.crdb.isSingleTable
or
com.chemaxon.zetor.settings.gcrdb.isSingleTable
Rename to chemaxon.microservices.db.migration.is-single-table
com.chemaxon.zetor.settings.crdb.singleTableName
or
com.chemaxon.zetor.settings.gcrdb.singleTableName
Rename to chemaxon.microservices.db.migration.single-table-name
com.chemaxon.zetor.settings.crdb.sqlBuilderProvider
or
com.chemaxon.zetor.settings.gcrdb.sqlBuilderProvider
Rename to chemaxon.microservices.db.datasource.dialect
com.chemaxon.zetor.settings.crdb.jdbcUrl
or
com.chemaxon.zetor.settings.gcrdb.jdbcUrl
Rename to chemaxon.microservices.db.datasource.url
com.chemaxon.zetor.settings.crdb.user
or
com.chemaxon.zetor.settings.gcrdb.user
Rename to chemaxon.microservices.db.datasource.username
com.chemaxon.zetor.settings.crdb.password
or
com.chemaxon.zetor.settings.gcrdb.password
Rename to chemaxon.microservices.db.datasource.password
com.chemaxon.zetor.types* Rename to chemaxon.microservices.db.types*
zetor.indexing.timeoutDifferenceInMilliseconds Rename to chemaxon.microservices.db.timeout.stop-earlier
search.wallTimeLimitSeconds Remove
any other properties which start with com.chemaxon.zetor.settings. Remove
any other properties which start with com.chemaxon.zetor.additional. Remove
com.chemaxon.webservices.db.import_export.dbExportStrategy Rename to chemaxon.microservices.db.import-export.strategy
com.chemaxon.webservices.db.import_export.s3BuckeBasetUrl Rename to chemaxon.microservices.db.import-export.s3-bucket-base-url
com.chemaxon.webservices.db.import_export.dir Rename to chemaxon.microservices.db.import-export.dir
com.chemaxon.webservices.db.import_export.importBatchSize Rename to chemaxon.microservices.db.import-export.import-batch-size
cloud.aws.region.static Rename to spring.cloud.aws.region.static
cloud.aws.region.auto Remove
cloud.aws.stack.auto Remove
spring.cloud.gateway.httpclient.response-timeout Rename to spring.cloud.gateway.server.webflux.httpclient.response-timeout
initOnStart Only INIT and AUTO values are supported. OPEN and OPEN_OR_INIT_ONLY are now deprecated and work as AUTO

Task Manager

application.properties Necessary change
com.chemaxon.webservices.db.import.dbImportStrategy Rename to chemaxon.microservices.db.import-export.strategy
com.chemaxon.webservices.db.import.s3BuckeBasetUrl Rename to chemaxon.microservices.db.import-export.s3-bucket-base-url
com.chemaxon.webservices.db.import_export.dir Rename to chemaxon.microservices.db.import-export.dir
com.chemaxon.webservices.db.import_export.importBatchSize Rename to chemaxon.microservices.db.import-export.import-batch-size

Gateway

application.properties Necessary change
spring.cloud.gateway.httpclient.response-timeout Rename to spring.cloud.gateway.server.webflux.httpclient.response-timeout
spring.cloud.gateway.httpclient.connect-timeout Rename to spring.cloud.gateway.server.webflux.httpclient.connect-timeout
spring.cloud.gateway.httpclient.pool.type Rename to spring.cloud.gateway.server.webflux.httpclient.pool.type
spring.cloud.gateway.httpclient.pool.max-connections Rename to spring.cloud.gateway.server.webflux.httpclient.pool.max-connections
spring.cloud.gateway.httpclient.pool.acquire-timeout Rename to spring.cloud.gateway.server.webflux.httpclient.pool.acquire-timeout

Resource requirement changes

Resource requirement of DB Web Services has been changed. JChem Engines cache and memory calculator can be used to calculate memory requirements and necessary config changes.

Hazelcast removal

Hazelcast distributed caching mechanism is removed from DB Web Services. Hazelcast configuration XML can be removed.

Config service connection change

spring.config.import property is updated in application.properties:

spring.config.import=optional:configserver:${CONFIG_SERVER_URI:http\://localhost\:8888}

In standalone mode it is not necessary to remove spring.config.import anymore only spring.cloud.config.enabled should be set to false.

Timeout handling changes

There are multiple changes regarding timeout handling. Details can be found here.

Important notes:

  • /rest-v1/db/additional/upload and /rest-v1/db/additional/{tableName}/batchInsert endpoints stop inserting structures when a timeout occurs and do not finish process in the background.
  • New parameters and attributes should be used to manage timeout situation when inserting a large data set.

Tautomerization handling mode naming changes

Following tautomer handling mode naming changes are made in molecule types.

Original tautomer handling mode name New tautomer handling mode name
OFF OFF
GENERIC GENERIC
CANONIC_GENERIC_HYBRID and
NORMAL_CANONIC_GENERIC_HYBRID
NORMAL_CANONICAL_GENERIC_HYBRID
NORMAL_CANONIC_NORMAL_GENERIC_HYBRID NORMAL_CANONICAL_NORMAL_GENERIC_HYBRID

Original names can still be used in molecule types of application.properties but /rest-v1/moleculeType endpoint converts original names and return with new versions.

Since 23.4

JChem Microservices requires Java 17 or newer.

Since 22.9

Standalone application mode of all modules is configured differently.

up to version 22.2.0

spring.cloud.config.failFast=false and spring.cloud.config.enabled=false in bootstrap.properties file

from version 22.9.0

set spring.cloud.config.enabled=false and comment out line spring.config.import= in application.properties file.