yihua opened a new pull request, #19167: URL: https://github.com/apache/hudi/pull/19167
### Change Logs `ProcedureParameterImpl.equals` was broken in two ways: 1. It began with `if (this == other)`. In Scala `==` dispatches to `equals`, so this self-recurses and any call to `equals` on a `ProcedureParameterImpl` throws `StackOverflowError`. 2. It cast `other` to `ProcedureParameterImpl` before the null/type guard, so comparing against a value of another type throws `ClassCastException`. The method was effectively never exercised (nothing compares these objects), which hid the defect. This uses reference equality (`eq`) for the identity short-circuit and moves the cast after the null/type guard. ### Impact Corrects `ProcedureParameterImpl` equality. No behavior change for existing call sites (equality was previously unusable); enables correct comparison and hash-set/map usage. ### Risk level low ### Documentation Update None. ### Contributor's checklist - [x] Read through the contributor's guide - [x] Enough context is provided in the sections above -- 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]
