Lenses 5.2 is an incremental release which brings in new features and
Upgrading from 5.0 or 5.1 does not require any configuration change. If you are
upgrading from version 4.3 or older, follow the upgrade procedure for Lenses
The base image of Lenses and SQL Processor Dockers switched from Debian to
Ubuntu. On some older systems, these docker images will fail to run, due to a
combination of a recent glibc in the container, and older docker daemon on the
If you fall under this category, during the startup of the Lenses container, you might see errors such as Unable to identify system. Uname is required or [warning][os,thread] Failed to start thread “GC Thread#0”.
For these cases, we now offer Lenses docker images with the suffix -debian in
their tags. E.g:
If your host is running on an older operating system and you encounter these errors, try to use the debian equivalent tag.
Download the latest 5.2
extract it in a new directory on your server. It is important to avoid
extracting an archive over an older installation to avoid having multiple
versions of libraries. Instead, you should remove (or rename) the old directory,
then move the new into its place. Copy if needed and update your lenses.conf
and security.conf files. If you are using the internal database instead of
PostgreSQL, make sure Lenses Storage Directory (lenses.storage.directory) is
kept intact. The folder is where persistent data is stored, such as users,
groups, audits, data policies, connections, and more.
Make sure you have a JRE (or JDK) installed in the server running Lenses.
Lenses can run on JRE 8 or greater, and the recommended version is JRE 11.
The docker image uses tags to distinguish between versions. The latest tag
(lensesio/lenses:latest) brings the latest stable version of Lenses. There are
minor tags to help users get the latest patch in a minor version (e.g 5.2,
5.0) and patch tags to help users pin to a specific patch (e.g 5.2.0,
5.0.7). The best practice advice is to use the minor tag
(lensesio/lenses:5.2), which ensures that your installation will always get
compatible updates until you made a conscious decision to upgrade the minor
If you use the internal database instead of PostgreSQL as the backing store of
Lenses, make sure you keep the /data/storage volume to not lose your
data. Other volumes supported by the docker are /data/kafka-streams-state
which holds state for SQL Processors running IN-PROC and may have to be rebuild
(automatically) if lost, /data/log (log files on disk), /data/plugins
Pull the 5.2 docker:
docker pull lensesio/lenses:5.2
Stop your current container and restart with the 5.2 image, mounting any volumes
you might need.
If you are a Box user, pull the latest version, preserve your /data volume and
docker pull lensesio/box:5.2
docker stop [CURRENT BOX NAME or ID]
docker run -v /path/to/box/data:/data -e EULA="..." -p 3030 lensesio/box:5.2
Download the latest charts and update your values.yaml as described
below. Remember that if you are using the internal database instead of
PostgreSQL as the backing store, then the Lenses Storage Directory
should be stored in a persistent volume and be kept intact between updates. To
support a potential downgrade, make sure this volume is backed-up before
installing a newer version of Lenses.
helm repo add lensesio https://helm.repo.lenses.io/
helm repo update
In values.yaml disable the provisioning section (if enabled) as Lenses already
has all the information stored in the database, and provision cannot function.
If you don’t have your values.yaml you can download it from the Kubernetes cluster using Helm:
helm get values --namespace [LENSES_NAMESPACE] \
--output yaml [LENSES_DEPLOYMENT] > values.yaml
Proceed to upgrade:
helm upgrade --namespace [LENSES_NAMESPACE] --values values.yaml [LENSES_DEPLOYMENT]
Alternatively, reusing the old values and turning provisioning off:
helm upgrade --namespace [LENSES_NAMESPACE] --reuse-values \
--set lenses.provision.enabled=false [LENSES_DEPLOYMENT]
Use the latest version available in the marketplaces. Remember that Lenses
Storage Directory should be provided as a persistent volume and be kept intact
between updates. If a new image does not exist, you may be able to update Lenses
in-place. Our support team will be happy to go through the available options
On this page