Era Software

No results match your query

Upgrading EraSearch

Estimated reading time: 2 minutes
  • guide
  • erasearch
  • self-hosted
  • rbac

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
Copy
Copied!

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.

      Copy
      Copied!
      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:

      Copy
      Copied!
      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):

    Copy
    Copied!
    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:

    Copy
    Copied!
    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:

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

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