Upgrading UX1 Marketplace to Version 10.0
Starting with version 10.0, UX1 Marketplace switched to Elasticsearch version 8.x. The upgrade procedure to that version requires additional actions on the installations with persistent indexing.
Check whether persistent indexing is enabled
To find out whether persistent indexing is enabled on your installation, check UX1 Marketplace configuration in the config.yaml file. If it contains the following parameters, the indexing is enabled and you need to upgrade as described in this section; otherwise, upgrade as usual.
ux1-marketplace:
elastic:
persistence: true
Determine the index size
If persistent indexing is enabled, you need to determine the index size to estimate the potential downtime. To do that, connect to the Kubernetes cluster, where CloudBlue Commerce is deployed and perform the following command:
kubectl exec -it ux1-marketplace-elastic-654dc477f8-b72g5 -- bash curl -X GET http://127.0.0.1:9200/_cat/indices?v
where ux1-marketplace-elastic-654dc477f8-b72g5 is example name of Elasticsearch pod.
The output of the command will look similar to the following:
Check the docs.count parameter value to estimate the amount of plan and product indexes.
On an average installation, re-indexing for 3,000,000 plans and 1,000,000 products takes 1.5 hours approximately.
Re-indexing of 100,000 plans and products takes less than 5 minutes.
Based on these numbers and assumptions, estimate the downtime for the automatic migration.
If downtime is acceptable
If the downtime estimation is acceptable, then you can upgrade UX1 Marketplace as usual, scheduling a maintenance window according to the downtime estimations.
The indexes will be automatically recreated during the upgrade. This means that after the upgrade, indexes will be empty and UX1 Marketplace will not display any information until the post-upgrade action to re-index the data will complete. To track the status of the post-upgrade action, use the /postUpgrade task in the Operations control panel. The tasks starts automatically within 5 minutes after the upgrade.
If downtime is not acceptable
If the downtime estimation is not acceptable, you need to complete manual migration of indexes. This will require a small downtime, less than a minute, but will require additional space on the persistent volume (as much as doubled default size of the indexes), and necessary resources in the Kubernetes cluster for an additional Elasticsearch pod.
Important: Duplicate indexes from the older Elasticsearch version will be automatically deleted on installing UX1 Marketplace version 10.1.
The manual migration must be done upon installation of version 10.0, before the installation of 10.1 or a later version. Otherwise, the automatic migration will be applied.