[HUDI-2398] Collect event time for inserts in DefaultHoodieRecordPayload (#3602)
This commit is contained in:
@@ -77,8 +77,8 @@ public class TestDefaultHoodieRecordPayload {
|
||||
assertEquals(payload1.preCombine(payload2, props), payload2);
|
||||
assertEquals(payload2.preCombine(payload1, props), payload2);
|
||||
|
||||
assertEquals(record1, payload1.getInsertValue(schema).get());
|
||||
assertEquals(record2, payload2.getInsertValue(schema).get());
|
||||
assertEquals(record1, payload1.getInsertValue(schema, props).get());
|
||||
assertEquals(record2, payload2.getInsertValue(schema, props).get());
|
||||
|
||||
assertEquals(payload1.combineAndGetUpdateValue(record2, schema, props).get(), record2);
|
||||
assertEquals(payload2.combineAndGetUpdateValue(record1, schema, props).get(), record2);
|
||||
@@ -103,8 +103,8 @@ public class TestDefaultHoodieRecordPayload {
|
||||
assertEquals(payload1.preCombine(payload2, props), payload2);
|
||||
assertEquals(payload2.preCombine(payload1, props), payload2);
|
||||
|
||||
assertEquals(record1, payload1.getInsertValue(schema).get());
|
||||
assertFalse(payload2.getInsertValue(schema).isPresent());
|
||||
assertEquals(record1, payload1.getInsertValue(schema, props).get());
|
||||
assertFalse(payload2.getInsertValue(schema, props).isPresent());
|
||||
|
||||
assertEquals(payload1.combineAndGetUpdateValue(delRecord1, schema, props).get(), delRecord1);
|
||||
assertFalse(payload2.combineAndGetUpdateValue(record1, schema, props).isPresent());
|
||||
@@ -142,4 +142,20 @@ public class TestDefaultHoodieRecordPayload {
|
||||
assertEquals(eventTime,
|
||||
Long.parseLong(payload2.getMetadata().get().get(DefaultHoodieRecordPayload.METADATA_EVENT_TIME_KEY)));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(longs = {1L, 1612542030000L})
|
||||
public void testGetEventTimeInMetadataForInserts(long eventTime) throws IOException {
|
||||
GenericRecord record = new GenericData.Record(schema);
|
||||
|
||||
record.put("id", "1");
|
||||
record.put("partition", "partition0");
|
||||
record.put("ts", eventTime);
|
||||
record.put("_hoodie_is_deleted", false);
|
||||
DefaultHoodieRecordPayload payload = new DefaultHoodieRecordPayload(record, eventTime);
|
||||
payload.getInsertValue(schema, props);
|
||||
assertTrue(payload.getMetadata().isPresent());
|
||||
assertEquals(eventTime,
|
||||
Long.parseLong(payload.getMetadata().get().get(DefaultHoodieRecordPayload.METADATA_EVENT_TIME_KEY)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user