1
0

[HUDI-3592] Fix NPE of DefaultHoodieRecordPayload if Property is empty (#4999)

Co-authored-by: Rex An <bonean131@gmail.com>
This commit is contained in:
RexAn
2022-03-12 06:45:40 +08:00
committed by GitHub
parent 5d59bf67ae
commit 93277b2bcd
2 changed files with 32 additions and 3 deletions

View File

@@ -143,6 +143,26 @@ public class TestDefaultHoodieRecordPayload {
Long.parseLong(payload2.getMetadata().get().get(DefaultHoodieRecordPayload.METADATA_EVENT_TIME_KEY)));
}
@Test
public void testEmptyProperty() throws IOException {
GenericRecord record1 = new GenericData.Record(schema);
record1.put("id", "1");
record1.put("partition", "partition0");
record1.put("ts", 0L);
record1.put("_hoodie_is_deleted", false);
GenericRecord record2 = new GenericData.Record(schema);
record2.put("id", "1");
record2.put("partition", "partition0");
record2.put("ts", 1L);
record2.put("_hoodie_is_deleted", false);
DefaultHoodieRecordPayload payload = new DefaultHoodieRecordPayload(Option.of(record1));
Properties properties = new Properties();
payload.getInsertValue(schema, properties);
payload.combineAndGetUpdateValue(record2, schema, properties);
}
@ParameterizedTest
@ValueSource(longs = {1L, 1612542030000L})
public void testGetEventTimeInMetadataForInserts(long eventTime) throws IOException {