Closed stephen-soltesz closed 1 year ago
It is not known how batch queries will impact gardener. The documentation suggests that only 10 concurrent batch jobs can run, but the number of queued can be higher. The phrasing is a little ambiguous. From: https://cloud.google.com/bigquery/docs/running-queries#batch
Batch queries don't count towards your concurrent rate limit, which can make it easier to start many queries at once. However, your project can run up to 10 concurrent batch queries.
The daily job for 10-02 for tcpinfo failed to process, resulting in alert:
Upon investigation, it appears that there was a transient rate limit exceeded error:
The logs discovered from gardener for 2022-10-02 ndt/tcpinfo job:
According to bigquery quotes queries are limited to 100 concurrent interactive jobs.
Using the
mlab-oti.region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT
metadata table, we can estimate the frequency of jobs per minute to see if there are time periods that exceed this quota.While, the rate is below 100 for project
measurement-lab
, there are regularly periods above that (>200) withinmlab-oti
. Those numbers greater than 100 may be the result of non-overlapping queries within the same minute, a limitation of this technique for estimation, or that the quota is flexibly enforced.Regardless, it appears that gardener operations use INTERACTIVE queries that compete for priority with user-queries. See: https://github.com/m-lab/etl-gardener/blob/689bcda01c5167a435258fd32d37df1c56e18b75/cloud/bq/ops.go#L104-L121
But, it should be possible to set the query priority to
q.Priority = bigquery.BatchPriority
, as seen in this example:https://cloud.google.com/bigquery/docs/running-queries#batch