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]

Reply via email to