Fixed Issues in Kudu

Review the list of Kudu issues that are resolved in Cloudera Runtime 7.1.9 SP1.

CDPD-67914 : Kudu - 7.1.9 SP1 Supportability Backports
Fixed Kudu supportability issues.
CDPD-67911 : Critical Bug Fix Backports
Fixed critical issues.

Apache patch information

Supportability fixes in Kudu:
  • KUDU-3402: Fixed tracing.html to work with the newer versions of browers.
  • KUDU-3455: Optimized C++ Kudu client when pruning hash partition for in-list predicate.
  • KUDU-3487:
    • No more leader step down is performed during rebalancing if the replication factor is 1.
    • Enhancements are made to Kudu diagnostic parse_metrics to differentiate between the values not present and zero value.
    • Added a new metric acceptor_dispatch_times to track dispatching times of newly accepted connections by AcceptorPool.
    • Optimized verification of security related parameters.
    • Expose the most recently seen value in histogram for better troubleshooting.
    • Increased the value of --rpc_acceptor_listen_backlog to 512 to help busy Kudu clusters with larger bursts of incoming requests.
    • Introduced metrics --rpc_listened_socket_rx_queue_size and --rpc_pending_connections to understand and debug issues at network level.
    • Fixed a rare condition that occured during --rpc_pending_connections metric collection. Optimized memory usage by not allocating memory for undo deltas.
  • KUDU-3337: The create_unsafe_meta parameter is now added to aid during power outage situations, where metadata of a tablet is lost. Slow DNS threshold logging for Java Kudu client is now 200 ms. Added additional HTTP headers into Kudu embedded webserver's responses to avoid getting flagged by security scanners.
  • KUDU-3534: Additional logging is not performed to log timestamp of two matching DELETE REDO mutations. Added sequenceId into Remote Procedure Call (RPC) trace of Java Kudu client to provide better tracking of retries performed.
  • KUDU-3518: Fixed the addition of a new unexpected scan predicate on a primary key column when scanning Kudu tables.
  • KUDU-3561: As expected tablet entities in Prometheus format are now skipped without any warning.
  • KUDU-3566: Corrected the output of various Kudu metrics backed by High Dynamic Range (HDR) histograms. Added a new option kudu fs in the tool, to locate a given block on file system by the block’s ID.
  • KUDU-3569: Fixed race condition when optimizing primary key predicates.
  • KUDU-3570: Addressed heap-use-after-free and data race issues reported in the MajorDeltaCompactionOp operation.
Critical fixes in Kudu:
  • KUDU-3448: It is now possible to encrypt IPKI and TSK private keys.
  • KUDU-3500: Optimized Kudu writes by not starting write operations expired in the prepare queue.
  • KUDU-3495: Fixed issue where writing using stale Kudu table object resulted in unexpected results.
  • KUDU-3461: Avoid Impala crash by returning error if invalid tablet ID is found.
  • KUDU-3516: Optimized the process of picking next delta store to be compacted.
  • KUDU-3514: Added per-RPC metric to track timeouts.
  • KUDU-3483: Fixed flushing data in AUTO_FLUSH_BACKGROUND mode when table schema is stale.
  • KUDU-3521:
    • Fixed server crash when the clock was synchronized by PTPd.
    • Improved logging on rejected write requests to help troubleshooting.
    • In the Kudu CLI tool, the local_replica copy_from_remote command now returns a non-OK status when tablet copy operations fail.
  • KUDU-3535: Fixed a concurrent problem while traversing the traces of Kudu RPC in the Java Kudu client
  • KUDU-3526: Scanner in Java Kudu client now binds with a tserver. Fixed NullPointer Exception (NPE) in Java Kudu client that occured in busy clusters.
  • KUDU-3558: The tool now displays errors early when keytab file flag is empty without starting the Ranger subprocess.
  • KUDU-3549: Fixed Prometheus metrics for non-arithmetic gauges.
  • KUDU-3486: Tombstoned replica reports are now sent periodically to delete other replicas.
  • KUDU-3562: Fixed integer overflow in available space metrics.
  • KUDU-3564: Fixed issue where table with range specific hash schema when queried with InList predicate lead to incorrect results.