Hi <@UDQU92KBK> <@UGRJA9TEH> the table query respo...
# troubleshooting
s
Hi @Mayank @Xiang Fu the table query response becomes unstable on pinot sql query editor once we updated the schema of the table means some times it returns rows in response .. somtimes rows are empty .. the query does group by , select columns and filter cc: @Mohamed Sultan @Mohamed Kashifuddin @Manju Priyadharshini
x
do you have query stats you can share ? for both resposnes
s
Sometimes response empty sometimes not empty
IMG-20210802-WA0003.jpg,IMG-20210802-WA0002.jpg,IMG-20210802-WA0001.jpg,IMG-20210802-WA0000.jpg
query is "select count(*) as countPerMin,timestampInEpoch,col1,col2,tenant_id,col3,col4, col5,col6,col7,col8,substr(""time"",0,16) from myTable WHERE col2 !=-1 AND col3 = 'deathstar-c74d84667-2jdht' AND col4 = 'tiefighter' AND timestampInEpoch >= 1626345720000 AND timestampInEpoch <= 1626345720000 AND tenant_id = '728*&*285' AND col1 = 'sadr' AND col5 = 'default' AND col6 = 'default' AND col7 = '200' AND col8 = 'nadr' group by timestampInEpoch,col1,col2,tenant_id,col3, col4,col5,col6,col7,col8,substr(""time"",0,16) limit 1000 "
cc: @Jackie @Ken Krugler
we did load test for 100 threads using jmeter and response was always 200 ok
but we didnt asserted the row size in repsonse json .. we are planning to assert that with load testing as well
m
Did you call reload api after schema change?
s
Yep
ReLoad all segments on controller uo
Ui
j
@Sadim Nadeem Seems the empty response queries actually timed out. Can you turn on the
Show JSON format
and check if there are exceptions within the query response
s
hi @Jackie tried with Show JSON format enabled.. sometimes the rows array inside the resultTable have the data and sometimes empty for same query .. not consistent .. cc: @Mayank @Xiang Fu
j
How about the exception?
Also number of servers responded
s
no exception @Jackie
how to check number of pinot servers responded .. we have 3 pods for pinot server
do we need to check the pinot server logs
j
It is also part of the response metadata
From the screenshot, one of the 3 servers didn’t respond
s
none of the pinot server pods restarted in last 4 days . .still facing this issue
this is the respoinse json when empty response came
{ "resultTable": { "dataSchema": { "columnNames": [ "timestampInEpoch", "col1", "countPerMin" ], "columnDataTypes": [ "LONG", "LONG", "LONG" ] }, "rows": [] }, "exceptions": [], "numServersQueried": 3, "numServersResponded": 2, "numSegmentsQueried": 1333, "numSegmentsProcessed": 1333, "numSegmentsMatched": 86, "numConsumingSegmentsQueried": 43, "numDocsScanned": 1268, "numEntriesScannedInFilter": 8641190, "numEntriesScannedPostFilter": 2536, "numGroupsLimitReached": false, "totalDocs": 29377275, "timeUsedMs": 10001, "offlineThreadCpuTimeNs": 0, "realtimeThreadCpuTimeNs": 1530254422, "segmentStatistics": [], "traceInfo": {}, "numRowsResultSet": 0, "minConsumingFreshnessTimeMs": 1627975889277 }
------------------------- rows array came empty
sometimes the rows array has data for same query and sometimes its empty
It is also part of the response metadata-->no exception in this json as such
Also when the data came in response in rows means query executed successfully and rows array was not empty .. then also no of servers responded is 2 as u can see in the screenshot here
b
"timeUsedMs": 10001 The query timed out.
m
Yes ^^
s
Can we increase the timeout somehow
We have not manually enabled any timeout
x
you can update timeout from query console
s
ok thanks
how to increase default timeout in pinot golang connector api
@Xiang Fu @Mayank @Jackie @Daniel Lavoie
here i see some timeout settings .. is it the query timeout
m
That seems like ZK session timeout setting (going by the name), which is not query timeout
s
in golang api ..we are also facing the default timeout issue . so need to figure out how to increase timeout when querying pinot using golang pinot conenctor
also why there is a timeout when querying through API
@Kishore G @Neha Pawar @Kulbir Nijjer @Chinmay Soman
j
@Sadim Nadeem The timeout can be embedded into the query body as a query option, e.g.
select ... option(timeoutMs=60000)
Basically we allow per-query timeout to override the default timeout. Default timeout is set via the instance config (broker config), which is not available as a client config
s
thanks @Jackie..it worked ..
👍 1