JingsongLi commented on PR #10774:
URL: https://github.com/apache/paimon/pull/10774#issuecomment-6408481021

   [P1] Preserve valid Canal ENUM values
   
   The change in `CanalFieldParser.convertEnum` makes every non-null numeric 
ENUM value return null. `CanalRecordParser.extractRowData` then puts that null 
into the emitted CDC record, so ordinary inserts/updates silently lose a 
supported column value.
   
   I compiled and executed the exact JDK 8 source for this head, its parent, 
and master with `enum('value1','value2','value3')`. Indexes 1/2/3 produce 
`null/null/null` on this PR and `value1/value2/value3` on both baselines. All 
three preservation assertions fail on this head. The parser still calls 
`Integer.parseInt`, so this also does not make nonnumeric payloads consumable. 
Kafka integration was not run because the local Docker daemon is unavailable.
   
   Master already supports valid ENUM values and handles index 0 via #10371. If 
another Canal payload fails, please provide the event and expected conversion 
so that case can be fixed without discarding valid data.
   
   There is also a base/scope problem: this branch is based on `release-1.3`; 
the master PR includes 122 upstream release commits plus this one-line change, 
yielding 344 changed files. I am closing this version because the proposed 
behavior loses data and does not establish a useful end-to-end fix. A focused 
change against the intended target branch with a concrete failing event would 
be a suitable follow-up.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to