Fixed Issues in Kudu

Fixed issues for Kudu are addressed in Cloudera Runtime 7.3.2, its service packs and cumulative hotfixes.

Cloudera Runtime 7.3.2.10000 SP1

CDPD-105447: Buffer overflow during message discard operation
7.3.2.10000
Previously, discarding subprocess messages larger than 4 KB caused a buffer overflow or corrupted subsequent messages on the communication channel. This issue led to channel desynchronization and potential process failures during message handling.
This issue is now resolved. The message discard process correctly bounds read operations to prevent memory corruption and maintain proper channel synchronization.
CDPD-98777: Out-of-memory errors during rowset merge compaction
7.3.2.10000
Previously, rowset merge compaction did not account for the size of undo deltas when selecting rowsets for compaction. When rowsets contained large undo deltas, loading uncompressed data into memory caused out-of-memory errors and forced the service to terminate unexpectedly.
This issue is now fixed by incorporating undo delta sizes into the compaction budget calculation, preventing memory exhaustion and process failures.
CDPD-106207: Missing Ranger client logs
7.3.2.10000
Previously, an outdated dependency in the Ranger subprocess prevented Ranger client logs from being generated.
This issue is now resolved by updating the logging framework dependencies, which ensures that logs are generated correctly.
CDPD-94251: Catchup deadlock during Raft log synchronization
7.3.2.10000
Previously, a Raft leader could enter an infinite retry loop when attempting log position synchronization with a lagging peer node. This loop consumed high CPU resources and prevented master nodes from completing the catchup phase when joining a cluster.
This issue is rnow esolved by improving heartbeat management during the join process and properly resetting state prior to master node additions, maintaining cluster stability and successful node join operations.

Apache Jira: KUDU-3762

Cloudera Runtime 7.3.2.100 CHF 1

There are no new fixes introduced in this release.

Cloudera Runtime 7.3.2

Cloudera Runtime 7.3.2 resolves Kudu issues and incorporates fixes from the service packs and cumulative hotfixes from 7.3.1.100 through 7.3.1.706. For a comprehensive record of all fixes in Cloudera Runtime 7.3.1.x, see Fixed Issues.

CDPD-97140: Range partition recreation for specific table schemas
7.3.2
Previously, dropping and immediately adding back the same range partition failed for certain table schemas. This issue occurred because the system catalog did not correctly normalize range-specific hash schemas when they matched the table-wide hash schema. This lack of normalization caused inconsistencies in how the partition information was stored and interpreted. This issue is now fixed. Kudu now correctly normalizes and stores range partition specifications, ensuring that partitions can be recreated as expected.
CDPD-95855: TLS truststore initialization with FIPS-compliant crypto providers
7.3.2
Previously, in some environments using FIPS-compliant crypto providers, TLS truststore initialization failed. This occurred because of incompatible handling of empty keystore initialization. This issue is resolved by updating the truststore initialization logic to ensure compatibility with FIPS-compliant providers. This allows the TLS setup to complete successfully.
CDPD-94474: Kudu tablet server crashes on RHEL 9
7.3.2
Previously, Kudu tablet servers crashed on Red Hat Enterprise Linux 9 (RHEL 9) x86_64 platforms when the libgcc package was updated to version 11.5.0-11 or newer. These crashes typically manifested as a Segmentation Fault (SIGSEGV) or an Abort (SIGABRT) error under specific workloads. This issue is now resolved.

Apache Jira: KUDU-3736

CDPD-80637: Kudu binary crashes on older CPU architectures
7.3.2
Previously, Kudu binaries could crash with an "Illegal instruction" error when running on older CPU architectures that did not support newer instruction sets. This occurred because the RocksDB library, which is linked to Kudu, was built on newer hardware without the portability option enabled, leading to compatibility issues when the binaries were deployed on older machines. This issue is now resolved.

Apache Jira: KUDU-3580

CDPD-80637: NullPointerException in Kudu Java client
7.3.2
Previously, the Kudu Java client could experience a NullPointerException within the TableLocationsCache.get() method. This occurred because the client failed to verify if a cache entry specifically for Kudu master locations existed before attempting to check its status. If the entry was absent, the system would attempt to call a method on a null object, leading to a client crash.
This issue is now resolved. The TableLocationsCache now includes a proper null check, ensuring that the Kudu Java client handles missing cache entries gracefully without triggering an exception.

Apache Jira: KUDU-3698

CDPD-80637: Support for RSASSA-PSS signed certificates in channel bindings
7.3.2
Previously, the system could not correctly determine the hash algorithm for certificates signed with RSASSA-PSS. Because the hash algorithm in RSASSA-PSS is configurable, the existing logic failed to identify it, preventing successful channel bindings when these certificates were used.
This issue is now resolved. This ensures compatibility with modern security standards and allows for secure channel bindings when using these certificate types.

Apache Jira: KUDU-3663

CDPD-80637: Incorrect Content-Type headers for binary webserver responses
7.3.2
Previously, the Kudu webserver incorrectly identified certain binary responses, specifically the /ipki-ca-cert-der endpoint as text/plain instead of the expected application/octet-stream. This occurred because the webserver's internal logic relied on a boolean "styled" flag, which could only distinguish between styled and unstyled text, effectively ignoring the "binary" mode required for certificate downloads and other raw data. This issue is now resolved.

Apache Jira: KUDU-3543

CDPD-80637: Error handling for 'kudu table copy' tool
7.3.2
Previously, the kudu table copy command-line tool would crash if invalid or unexpected input was provided for the --predicates flag. Instead of providing a helpful error message, the tool would terminate abruptly, making it difficult for users to identify typos or syntax mistakes in their predicate definitions.
This issue is now resolved. The tool now includes improved input validation; it handles invalid predicate strings gracefully by reporting an actionable error message and exiting without a crash.

Apache Jira: KUDU-3623