Jesse Tuglu
07/15/2025, 1:53 AMListFilteredDimensionSpec not allowed to have null as an element in its values array? Or is this a bug?
Example:
{
"dimensions": [
{
"type": "listFiltered",
"delegate": "based_on",
"values": [
null,
"A",
"B"
]
}
],
"aggregations": [
{
"type": "doubleSum",
"fieldName": "value",
"name": "value"
}
],
"intervals": [
"2025-01-01T00:00:00.000Z/2025-07-10T23:59:59.999Z"
],
"queryType": "groupBy",
"granularity": "all",
"dataSource": "datasource_A"
}
will fail with
Error: RUNTIME_FAILURE (OPERATOR)
Cannot invoke "String.getBytes(String)" because "string" is null
java.lang.NullPointerException
The line in question is this.
Passing in empty string in-place of the NULL returns null values, so this is a partial work-around for now.Gian Merlino
08/02/2025, 8:51 AMGian Merlino
08/02/2025, 8:52 AMnull, and if an empty string is passed in, it shouldn't be allowing null vals in the responseGian Merlino
08/02/2025, 8:53 AMdruid.generic.useDefaultValueForNull?Gian Merlino
08/02/2025, 8:53 AMnull / empty string conflation stuff should have been removed at that timeJesse Tuglu
08/02/2025, 8:56 AMGian Merlino
08/02/2025, 9:05 AMgetCacheKey, that seems like an oversight that should be easy to fix by switching it to using CacheKeyBuilderGian Merlino
08/02/2025, 9:06 AM