yihua opened a new pull request, #13650: URL: https://github.com/apache/hudi/pull/13650
### Change Logs The PR apache/hudi#9936 made a breaking change in complex key generator for the case where there is a single record key field. Before this breaking change, the key is encoded as `<record_key_field_name>:<record_key_field_value>` in `_hoodie_record_key` meta field; after the change, the key is changed to be `<record_key_field_value>`. This change affects 0.14.1, 0.15.0, 1.0.2 releases and user upgrading to these versions can hit duplicates after upserts because of the key encoding change. This PR reverts the default behavior of encoding record key to be `<record_key_field_name>:<record_key_field_value>`, with a config `hoodie.write.complex.keygen.encode.single.record.key.field.name` to turn it off in case the user creates a new table on the affected releases and need to maintain the behavior of encoding the record key as `<record_key_field_value>`, for complex key generator with a single record key field. New tests are added, existing tests are adjusted based on the above behavior. ### Impact Avoid breaking changes during upgrades. ### Risk level low guarded by config. ### Documentation Update apache/hudi#13648 ### Contributor's checklist - [ ] Read through [contributor's guide](https://hudi.apache.org/contribute/how-to-contribute) - [ ] Change Logs and Impact were stated clearly - [ ] Adequate tests were added if applicable - [ ] CI passed -- 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]
