diff --git a/sdks/java/extensions/avro/src/main/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtils.java b/sdks/java/extensions/avro/src/main/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtils.java index 854b0d3c8bb0..3c9064466d52 100644 --- a/sdks/java/extensions/avro/src/main/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtils.java +++ b/sdks/java/extensions/avro/src/main/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtils.java @@ -1380,7 +1380,7 @@ private static org.apache.avro.Schema getFieldSchema( return Days.daysBetween(Instant.EPOCH, (Instant) value).getDays(); } else if (SqlTypes.DATE.getIdentifier().equals(identifier)) { // portable SqlTypes.DATE is backed by java.time.LocalDate - return ((java.time.LocalDate) value).toEpochDay(); + return (int) ((java.time.LocalDate) value).toEpochDay(); } else if ("TIME".equals(identifier)) { return (int) ((Instant) value).getMillis(); } else if (SqlTypes.TIMESTAMP.getIdentifier().equals(identifier)) { diff --git a/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java b/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java index 6db5206c3cf6..d2452452f14f 100644 --- a/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java +++ b/sdks/java/extensions/avro/src/test/java/org/apache/beam/sdk/extensions/avro/schemas/utils/AvroUtilsTest.java @@ -1077,7 +1077,9 @@ public void testSqlTypesToGenericRecord() { org.apache.avro.Schema avroSchema = AvroUtils.toAvroSchema(beamSchema); GenericRecord expectedRecord = - new GenericRecordBuilder(avroSchema).set("local_date", localDate.toEpochDay()).build(); + new GenericRecordBuilder(avroSchema) + .set("local_date", (int) localDate.toEpochDay()) + .build(); assertEquals(expectedRecord, AvroUtils.toGenericRecord(rowData, avroSchema)); }