albertobastos opened a new pull request, #15753:
URL: https://github.com/apache/pinot/pull/15753
When MSE detects an `arrayToMv` operation in an intermediate stage it throws
an error because that function is only supported by leaf stages.
However, the exception thrown (`UnsupportedOperationException`) did not let
the broker to handle the exception properly and return it with enough context
in the response.
This PR changes the Exception thrown to `QueryException` with a
`QUERY_PLANNING_ERROR` code, more suited for that case and making the broker
capable of extracting the actual error message.
It can be tested launching the `MultiEngineQuickStart` and executing the
following query:
~~~sql
SELECT
AirTime
FROM airlineStats
WHERE (
array_to_mv(DivTailNums) IN (
'c5f720f9bb86a59c65ac75581650dbe0',
'f276ee65c0bbd2461d9d3f1ff349f6f7'
)
OR (
array_to_mv(DivTailNums) = 'c749bab35e6243d6e15f9f133988abeb'
AND AirTime IN (
SELECT AirTime
FROM airlineStats
WHERE ArrDelay = 2
)
)
);
~~~
Before:
~~~
InternalError: Error while planning query
~~~
After:
~~~
QueryPlanningError: Function 'ArrayToMv' is not supported in FILTER
Intermediate Stage
~~~
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]