kz930 opened a new issue, #9002: URL: https://github.com/apache/texera/issues/9002
### What happened? Interval Join reads each key with `asInstanceOf`, which unboxes a null INTEGER, LONG or DOUBLE to 0. So a row whose key is null joins as if the key were 0: a null left key joins a right row whose interval holds 0, and a null right key opens the interval [0, constant]. A null TIMESTAMP key is not unboxed and throws a NullPointerException, which fails the run. Other joins, such as Hash Join, let a null key match nothing. ### How to reproduce? 1. Interval Join on INTEGER keys `l` and `r`, constant 10, both bounds included. 2. Feed a right row with `r = 0`, then a left row with `l = null`. The output holds the pair `null, 0`. 3. Feed a right row with `r = null`, then a left row with `l = 5`. The output holds the pair `5, null`. 4. Repeat with TIMESTAMP keys and a null on either side. The run fails with `NullPointerException: Cannot invoke "java.sql.Timestamp.getTime()" because "pointValue" is null`. ### Version/Branch 1.4.0-incubating-SNAPSHOT (main) ### Commit Hash (Optional) 742643133 ### What browsers are you seeing the problem on? _No response_ ### Relevant log output ``` java.lang.NullPointerException: Cannot invoke "java.sql.Timestamp.getTime()" because "pointValue" is null java.lang.NullPointerException: Cannot invoke "java.sql.Timestamp.toLocalDateTime()" because "leftBoundValue" is null ``` -- 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]
