[ 
https://issues.apache.org/jira/browse/FLINK-41434?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-41434:
-----------------------------------
    Labels: pull-request-available  (was: )

> Fluss CDC source rebuilds the column mapping for every record with an older 
> schema
> ----------------------------------------------------------------------------------
>
>                 Key: FLINK-41434
>                 URL: https://issues.apache.org/jira/browse/FLINK-41434
>             Project: Flink
>          Issue Type: Improvement
>          Components: Flink CDC
>            Reporter: Xiaobing Fang
>            Priority: Major
>              Labels: pull-request-available
>
> After a column is appended to a Fluss table, a source reader can see the new 
> schema and continue receiving records written with the previous schema.
> To reproduce, use a 453-column table, append one nullable column, and let the 
> same reader process a 454-column record followed by multiple 453-column 
> records.
> For every older record, FlussRecordDeserializer rebuilds both Fluss Schema 
> objects and recomputes the same column mapping. Building the schemas also 
> repeats duplicate-name checks whose cost grows quadratically with the number 
> of columns. In a local benchmark alternating the two versions, 
> deserialization consumed 551 µs of thread CPU per record, compared with 3.26 
> µs when all records used the latest version.
> The reader should compute the mapping once for each source and target schema 
> version pair and reuse it for subsequent records. Older records should 
> continue to emit null for the appended column.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to