Skip to content

Upgrading EraSearch

Estimated time to read: 2 minutes

Regular upgrades are strongly recommended to ensure your EraSearch deployment gets the latest bug fixes, performance enhancements, and new features. If you have any questions or concerns about upgrading, don't hesitate to reach out.

Upgrading to v1.22+ from v1.21 or earlier

In EraSearch v1.22.0, the Storage Service has a new 'mutable object' API for storing non-time-series objects. Due to this change, storage of internal metadata (for example, RBAC state) needs to be duplicated prior to upgrading.

This upgrade procedure is non-destructive, and only duplicates data from the old storage format (prior to the introduction of the 'mutable object' API) to the new location. If necessary, you can roll back the upgrade without consequence.

To upgrade to EraSearch v1.22 or later from v1.21 or earlier releases, do the following:

  1. Upgrade to the v1.21.3 maintenance release. This release includes a pre-upgrade hook that you run to prepare the database for the v1.22+ data layout.

  2. Once upgraded to v1.21.3, issue the following command using the kubectl command, where:

    • RELEASE_NAME is the name of the Helm release used during the initial installation.

    • NAMESPACE is the name of the Kubernetes namespace where the EraSearch deployment resides.

     RELEASE_NAME="my-erasearch-deployment"
     NAMESPACE="my-erasearch-namespace"
     kubectl exec -n ${NAMESPACE} ${RELEASE_NAME}-quarry-0 -- rbacupgrade
    
    If the hook is successful, it will print out the message:

     Migrated RBAC data.
    
  3. Update the Helm values file (values-eradb.yaml) to include a new ALEXANDRIAD_STARTING_EPOCH environment variable for the Coordinator Service (denoted by the top-level alexandria section):

    alexandria:
     [...]
     extraEnv:
       - name: ALEXANDRIAD_STARTING_EPOCH
         value: "2"
    

    The value of this environment variable should be set to the string "2" prior to upgrading.

  4. Upgrade the database using the Helm upgrade command:

    helm upgrade ${RELEASE_NAME} ./charts/eradb-X.Y.Z.tgz -n ${NAMESPACE} --values values-eradb.yaml
    

    The upgrade command returns this output along with other deployment details:

    Release ${RELEASE_NAME} has been upgraded. Happy Helming!
    

For more information on the latest EraSearch releases, be sure to check out the changelog.


Last update: October 6, 2022