From fb0e14e2613b9b2e54f5450422a43857bb0cd34b Mon Sep 17 00:00:00 2001 From: sivabalan Date: Tue, 15 Oct 2024 16:26:34 -0700 Subject: [PATCH] Fixing casting utf8 to string while constructing metadata payload for col stats --- .../java/org/apache/hudi/metadata/MetadataPartitionType.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hudi-common/src/main/java/org/apache/hudi/metadata/MetadataPartitionType.java b/hudi-common/src/main/java/org/apache/hudi/metadata/MetadataPartitionType.java index 07fd66449746..85afb95165f0 100644 --- a/hudi-common/src/main/java/org/apache/hudi/metadata/MetadataPartitionType.java +++ b/hudi-common/src/main/java/org/apache/hudi/metadata/MetadataPartitionType.java @@ -298,8 +298,8 @@ private static void constructColumnStatsMetadataPayload(HoodieMetadataPayload pa String.format("Valid %s record expected for type: %s", SCHEMA_FIELD_ID_COLUMN_STATS, MetadataPartitionType.COLUMN_STATS.getRecordType())); } else { payload.columnStatMetadata = HoodieMetadataColumnStats.newBuilder(METADATA_COLUMN_STATS_BUILDER_STUB.get()) - .setFileName((String) columnStatsRecord.get(COLUMN_STATS_FIELD_FILE_NAME)) - .setColumnName((String) columnStatsRecord.get(COLUMN_STATS_FIELD_COLUMN_NAME)) + .setFileName(columnStatsRecord.get(COLUMN_STATS_FIELD_FILE_NAME).toString()) + .setColumnName(columnStatsRecord.get(COLUMN_STATS_FIELD_COLUMN_NAME).toString()) // AVRO-2377 1.9.2 Modified the type of org.apache.avro.Schema#FIELD_RESERVED to Collections.unmodifiableSet. // This causes Kryo to fail when deserializing a GenericRecord, See HUDI-5484. // We should avoid using GenericRecord and convert GenericRecord into a serializable type.