Upgrade Notes for Apache Kudu 1.12 / CDP 7.1

Learn about the most important Kudu relatd changes when upgrading to CDP Private Cloud Base 7.1.

World-readable Kerberos keytab files

To improve security, world-readable Kerberos keytab files are no longer accepted by default. You can override this behaviour by setting the ‑‑allow_world_readable_credentials property to true using the Kudu Service Advanced Configuration Snippet (Safety Valve) for gflagfile advanced configuration snippet:
‑‑allow_world_readable_credentials=true 

Wire Protocol compatibility

Kudu 1.12.0 is wire-compatible with previous versions of Kudu:
  • Kudu 1.12 clients may connect to servers running Kudu 1.0 or later. If the client uses features that are not available on the target server, an error will be returned.
  • Rolling upgrade between Kudu 1.9 and Kudu 1.12 servers is believed to be possible though has not been sufficiently tested. Users are encouraged to shut down all nodes in the cluster, upgrade the software, and then restart the daemons on the new version.
  • Kudu 1.6 and later clients may connect to servers running Kudu 1.12.

Client Library Compatibility

  • The Kudu 1.12 Java client library is API- and ABI-compatible with Kudu 1.6 and later. Applications written against Kudu 1.6 and later will compile and run against the Kudu 1.12 client library and the other way around.
  • The Kudu 1.12 C++ client is API- and ABI-forward-compatible with Kudu 1.6 and later. Applications written and compiled against the Kudu 1.6 client library will run without modification against the Kudu 1.12 client library. Applications written and compiled against the Kudu 1.6 or later client library will run without modification against the Kudu 1.12client library.
  • The Kudu 1.12Python client is API-compatible with Kudu 1.6 and later. Applications written against Kudu 1.6 and later will continue to run against the Kudu 1.12 client and the other way around.

Location Awareness

Upon upgrading to CDP Private Cloud Base 7.1 / Kudu 1.12 or higher, if rack locations are assigned, you have to run the kudu cluster rebalance tool to ensure your existing tables are in compliance with the rack awareness placement policy.

Table History Retention Time

The default tablet history retention time is 7 days to better support incremental backups. It used to be 15 minutes.

Integration with Apache Ranger

The integration with Apachy Sentry is replaced by the integration with Apache Ranger. Kudu 1.12 natively integrates with Apache Ranger for fine grain authorization and access control. This integration is disabled by default after the upgrade. If you want to enable fine grain authorization and access control with Kudu and Ranger, follow the steps described in Enabling Ranger authorization.

OS kernel version

Kudu server fails to start after upgrade if OS kernel version is lower than 3.10.0-544.el7. That is because the getrandom(2) system call needs to be present. To solve this issue, upgrade OS kernel to 3.10.0-544.el7 or upgrade to CDP 7.1.7 or higher.