You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Error Code: 200
QueryExecutionError:
java.lang.NullPointerException: Cannot read field "value" because "anotherString" is null
at java.base/java.lang.String.compareTo(String.java:2042)
at org.apache.pinot.core.operator.transform.function.BinaryOperatorTransformFunction.fillResultString(BinaryOperatorTransformFunction.java:304)
at org.apache.pinot.core.operator.transform.function.BinaryOperatorTransformFunction.fillResultArray(BinaryOperatorTransformFunction.java:134)
at org.apache.pinot.core.operator.transform.function.BinaryOperatorTransformFunction.transformToIntValuesSV(BinaryOperatorTransformFunction.java:110)
We've narrowed it down to this datetimeconvert in the where clause. created and t_created are LONG column types and have no null values.
Example query.
SET enableNullHandling = true;
SELECT
date_trunc('day', t_created, 'milliseconds', 'UTC', 'seconds') AS ts,
t_type AS t_type,
COUNT(*) AS ct
FROM
example_table
WHERE
...
CASE
WHEN datetimeconvert(t_created, '1:MILLISECONDS:EPOCH', '1:DAYS:SIMPLE_DATE_FORMAT:yyyy-MM-dd', '1:DAYS') >= '2024-12-11'
AND datetimeconvert(t_created, '1:MILLISECONDS:EPOCH', '1:DAYS:SIMPLE_DATE_FORMAT:yyyy-MM-dd', '1:DAYS') <= '2024-12-19'
THEN floor((created - t_created) / 86400000) <= 15
ELSE true
END
GROUP BY 1, 2
ORDER BY 1, 2 ASC
When we switch it to the literal time values, it works fine.
AND CASE
WHEN t_created >= 1733875200000 -- 2024-12-11
AND t_created < 1734566400000 -- 2024-12-19
THEN floor((created - t_created) / 86400000) <= 15
ELSE true
END
I couldn't reproduce the error. The right hand side mentioned in the exception is always a string literal - either '2024-12-11' or '2024-12-19'. @dang-stripe Please provide the following data:
pinot version
engine type used for querying - single or multi-stage
table schema/config
full stack trace
full query (I suspect the failing part belongs to other predicate)
We're running into this error non-deterministically on one of our queries which points to https://github.com/apache/pinot/blob/master/pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/BinaryOperatorTransformFunction.java#L304.
We've narrowed it down to this
datetimeconvert
in the where clause.created
andt_created
are LONG column types and have no null values.Example query.
When we switch it to the literal time values, it works fine.
Any ideas what might be happening here?
cc @Jackie-Jiang
The text was updated successfully, but these errors were encountered: