Upgrade Notes

To see the full list of changes made for this release check the Release Notes. Upgrading from the previous versions requires changes to the existing configuration file. This section covers all the changes to be made to the existing configuration file to make it work with this version.

From 2.1 to 2.2

This version brings new features and improvements to existing functionality. Depending on the features in use, you may have to adjust your Lenses configuration files and setup practices. The list below includes all the changes and additions that require user-action.

  • The roles that can be assigned to a group of users became more granular. Some permissions that were previously granted by the Admin, Write and Read roles now have their own separate roles, such as AlertsWrite, TableStorageWrite and more. Have a look at the permissions matrix to find which ones you need to add to your groups. The Data Policy permissions refer to new functionality.
  • Some options were renamed:
    • lenses.execution.mode renamed to lenses.sql.execution.mode
    • lenses.kubernetes.image.name renamed to lenses.kubernetes.processor.image.name
    • lenses.kubernetes.image.tag renamed to lenses.kubernetes.processor.image.tag
  • The default serde directory moved to plugins/serde and the LENSES_SERDE_CLASSPATH_OPTS is replaced by LENSES_PLUGINS_CLASSPATH_OPTS. The old directory and environment variable are still supported but will be deprecated in a future release. It’s better to switch early. Also in the Lenses docker the path /data/plugins is now exposed as a volume and is a good place to add your jars. Have a look at the plugins configuration to find out more.
  • This version introduces state stored at the disk. Specifically we store the Data Policies configuration in the directory set by lenses.storage.directory, by default set to storage. You need to make sure this path is persistent in order to not lose your data in future upgrades.
  • The Lenses SQL Connector upgraded to Kafka 2.0. It will not work with older Connect clusters.
  • Existing SQL Processors (kubernetes) need relabeling to be detected by the new version of Lenses. For this purpose we provide a bash script under bin/kubernetes-relabel-2.2. Please note that the script uses the kubectl application, so it has to be available in your PATH. Just run it and it will relabel all your processors automatically.

From 2.0 to 2.1

  • The default LDAP plugin class has been renamed from com.landoop.kafka.lenses.security.LdapMemberOfUserGroupPlugin to com.landoop.lenses.security.ldap.LdapMemberOfUserGroupPlugin. Although this is the default value, if you set it explicitly, please update to the new name.

From 2.1.4 or older to 2.1.5

  • The deprecated option lenses.jmx.brokers returned in order to support Zookeeper-less installations —a new feature of Lenses 2.1.5. It now has a different format, so if you kept it around, Lenses will fail to start unless you remove it (suggested) or update it to the new format. It expects an array. E.g:

    lenses.jmx.brokers = [
        { id:"broker1 id", jmx:"broker1 JMX port" },
        { id:"broker2 id", jmx:"broker2 JMX port" },
        { id:"broker3 id", jmx:"broker3 JMX port" }

    Please note that this option is only needed when you setup Lenses without Zookeeper. Even then, if all brokers use the same JMX port, you should use the more convenient lenses.jmx.broker.port option instead:


From 1.1 to 2.0

For those upgrading from version 1.1 please also read

See Upgrade path from 1.1 to 2.0

From 1.0 to 1.1

For those upgrading from version 1.0 please also read

See Upgrade path from 1.0 to 1.1

Docker Containers

Docker pull the latest Lenses environment for Developers

docker pull landoop/kafka-lenses-dev:latest

And update you official docker container for Lenses Enterprise with

docker pull landoop/lenses:latest