apache/pinot

Query 500 on `select col, count(*) from table` missing `group by` (query mistake)

Open

#7,868 opened on 2021年12月4日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)Java (1,234 forks)batch import
help wanted

Repository metrics

Stars
 (4,937 stars)
PR merge metrics
 (平均マージ 6d 7h) (30d で 186 merged PRs)

説明

While writing some adhoc queries, I found the controller query console was throwing a 500 and I was scratching my head about the error until I realized the query was incorrect. I'm not sure if Pinot often 500s on invalid queries, or this is a corner case, but certainly making sure a helpful error is returned is better that informs the user their query is invalid.

For example, I was trying

select $segmentName, count(*)
from table
where $segmentName = 'bar'

Mind, the same error happened when I used actual columns rather than the virtual column.

And it was raising the following exception

java.io.IOException: Failed : HTTP error code : 500
	at org.apache.pinot.controller.api.resources.PinotQueryResource.sendPostRaw(PinotQueryResource.java:305)
	at org.apache.pinot.controller.api.resources.PinotQueryResource.sendRequestRaw(PinotQueryResource.java:343)
	at org.apache.pinot.controller.api.resources.PinotQueryResource.getQueryResponse(PinotQueryResource.java:225)
	at org.apache.pinot.controller.api.resources.PinotQueryResource.handlePostSql(PinotQueryResource.java:137))

コントリビューターガイド