Danny Chen created HUDI-9318:
--------------------------------

             Summary: Refactor the log records presentation in 
FileGroupRecordBuffer
                 Key: HUDI-9318
                 URL: https://issues.apache.org/jira/browse/HUDI-9318
             Project: Apache Hudi
          Issue Type: Improvement
          Components: core
            Reporter: Danny Chen
            Assignee: Timothy Brown
             Fix For: 1.1.0


The records cache in FileGroupRecordBuffer is map, the map key is the record 
key, the map value is a pair:
{code:java}
Pair<Option<T>, Map<String, Object>>{code}
the pair left is the actual option of HoodieRecord, an empty options represents 
a delete;

the pair right is the record metadata, such as record key, orderingValue, and 
avro schema.

Let's revise the metadata part:

1. add a new serializable Java class MergingItem to holds the hoodie record;
2. the record key and orderingValue should be fetched through HoodieRecord 
APIs, we need to check all the hoodie record types to ensure this is efficient, 
if not try to fix it as efficient, and if it is hard to do that for all kinds 
of record type, let's put a duplicate in the MergingItem class;
3. does not emptify the delete record as an Option.empty, set up the `isDelete` 
correctly in HoodieRecord itself or put a duplicate in MergingItem class;
4. add the local schema id in the MergingItem class;

5. drop out the metadata map which is very confusing



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to