Druid InFilter Fails on Empty Values

We are running into an issue with Druid when querying it with Plywood. We dynamically build Druid queries by allowing the user to filter the UI. Sometimes this results in the user filtering out all options (sometimes unintentionally), and is something we want to allow for.

In https://github.com/apache/incubator-druid/blob/04ea3c9f8c1f5ea34b023217bd709509ace4d30d/processing/src/main/java/io/druid/query/filter/InDimFilter.java#L78, Druid fails when filtering on empty values, though I see no reason why it should since the result should just be empty. e.g. in pseudocode,

mydatasource.filter(mycolumn in ) =


Is there a better reason for this, or can I submit a PR to remove that restriction?

I’m guessing it’s there as a “fail fast” check, I feel like I could argue either way (better to reject a query that won’t return anything early and not consume cluster resources vs. convenience when working with generated queries).

Please feel free to submit a PR to remove the check.

I’m facing the same issue as of Druid 0.13.0. Has there not been any progress on this task?
If not, can you suggest a better alternative?

Robert did a PR to change the behavior: https://github.com/apache/incubator-druid/pull/6330. It’ll be shipped in 0.14.0.