thswlsqls opened a new pull request, #9055:
URL: https://github.com/apache/paimon/pull/9055

   
   ### Purpose
   
   fix #9054
   
   - `DebeziumBsonRecordParser#setRoot` overrides 
`AbstractRecordParser#setRoot` without storing the record, so 
`evalMetadataColumns` passes a null `currentRecord` to the converters. Using 
`--metadata_column` with `value.format=debezium-bson` throws NPE on the first 
record.
   - Assign `currentRecord` directly instead of calling `super.setRoot`: 
`DebeziumJsonRecordParser#setRoot` also parses the Debezium value schema, which 
BSON events do not carry.
   - The sibling parsers already store the record; #7315 added only the 
consumer to the BSON parser.
   - Without metadata columns the converter array is empty, so behavior is 
unchanged.
   
   ### Tests
   
   - Added `DebeziumBsonRecordParserTest#extractRecordWithMetadataColumns`, 
asserting the `topic` and `offset` values and schema columns. It fails with NPE 
before the fix.
   - `mvn -pl paimon-flink/paimon-flink-cdc -Pflink1 -Dtest='!*ITCase' clean 
install` (JDK 11): 148 tests passed in each of the two surefire executions.
   - Kafka/MongoDB/MySQL `*ITCase` need Docker and were not run locally — 
covered by CI.
   
   
   


-- 
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