spapin opened a new pull request, #19108:
URL: https://github.com/apache/pinot/pull/19108

   ## Summary
   
   `NotUdf` fails to load via `ServiceLoader` because its reflection lookup is 
out of sync with `LogicalFunctions.not()`'s signature, which was changed to 
`Boolean` (boxed) for three-valued NULL semantics but the UDF lookup still uses 
`boolean.class` (primitive). This throws `NoSuchMethodException` at 
construction time, breaking `UdfTest` at `setUp()`.
   
   This PR:
   - Fixes `NotUdf`'s `getMethod` lookup to use `Boolean.class`, matching the 
actual signature.
   - Refreshes the stale `abs.yaml` / `all-functions.yaml` snapshot fixtures so 
`UdfTest`'s snapshot comparison matches the currently-registered scalar 
functions (adds recently-added trig/bitwise/IP/string helpers, fixes a stale 
`and` entry, updates `abs` from `"3.0"` to the integer-typed `"3"`).
   
   ## Test plan
   
   `UdfTest` currently fails on `master` with `NoSuchMethodException` before 
even reaching the snapshot comparisons it's meant to run. Reproduce with:
   
   ```
   ./mvnw -pl pinot-integration-tests -am -Dtest=UdfTest 
-Dsurefire.failIfNoSpecifiedTests=false test
   ```
   
   With this fix applied, the suite passes.
   
   Note: this test class currently isn't picked up by either CI 
integration-test shard (`integration-tests-set-1`/`integration-tests-set-2` in 
`pinot-integration-tests/pom.xml`), since its package 
(`org.apache.pinot.integration.tests.udf`) isn't matched by the shard include 
globs. That's a separate, pre-existing gap to be addressed independently.


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to