What's New in Apache Kudu
Learn about the new features of Kudu in Cloudera Runtime 7.1.8.
Custom hash schemas
Previously once the partition schema was set the number of hash buckets per range partition could not be changed. For the newly added range partitions the number of hash buckets was tied to the amount that was initialized in the partition schema. The custom hash schemas feature enables you to vary the number of hash buckets per range partition, both at table creation and alteration time.
For more information, see Managing Kudu tables with range-specific hash schemas
Support native encryption at rest
Kudu now supports data encryption at rest, using File Key, Server Key and Cluster Key for encryption. However, data at rest encryption is supported only on fresh installation and once it is enabled you cannot disable it.
For more information, see Configuring data at rest encryption
Add tool to unregister a tablet server
Add a 'kudu tserver unregister' tool to unregister a tserver from the master.
This tool can be used to decommission a tserver without restarting masters. This tool
unregisters the dead tserver from the master's in-memory map and removes its persisted state
from the catalog table by default. It's also possible to unregister a tserver which is not
presumed dead by adding -force_unregister_live_tserver
, or keep tserver's
persisted state by adding -remove_tserver_state=false
.
Optimizations and improvements
- KUDU-2181: Multi master configuration support
-
Adding a new Kudu master instance to your cluster, for example to migrate to a multiple master configuration, is automated and does not require you to restart the already existing masters.
- KUDU-2623 Expose table as public in WriteOp
- Making KuduWriteOperation::table() method public to enable identification of the problematic table when an error happens.
- KUDU-3197 tserver optimal Schema's memory used, using std::shared_ptr
- Change TabletMeta's variable Schema* to std::shared_ptr<Schema> to reduce memory used when altering schema.
- KUDU-3328: Make rebalancer tool take into account maintenance mode
- Before this fix kudu master would not assign new replicas on maintenance tservers but replicas could still be moved through the rebalancer tool. This patch improves the rebalancer tool's behavior. If maintenance tservers are not specified in 'ignored_tservers' and users do not specify '-force_rebalance_replicas_on_maintenance_tservers' neither, the rebalancer tool cannot get replica moves and return IllegalState.
- KUDU-3340 Disable compaction on the specified table
- For tables with only inserts but no updates, we can disable the compaction of the table's data, which can improve the search efficiency (the effect is more obvious in the search scenario involving multiple tables).
- KUDU-3341: Stop retrying to DeleteTablet on wrong server
- This patch improves catalog_manager's behavior when delete tablet with a 'WRONG_SERVER_UUID' error. This RetryTask is marked failed instead of getting retried in order to avoid too many requests.