The following are known issues within Cloud Quotas.
Quota values during rollouts
Google Cloud sometimes increases the default quota values for resources and APIs. These changes take place gradually, which means that during the rollout, the quota value that appears in the Google Cloud console or Cloud Quotas API won't reflect the new, increased quota value until the rollout completes.
If a quota rollout is in progress, an informational message appears at the top of the Cloud Quotas page and the rolling update indicator appears next to the quota values impacted by ongoing rollouts. For details, see View ongoing rollouts.
For troubleshooting steps, see Exceeding quota values during a service rollout.
Quota preference contactEmail field is required
To update the QuotaPreference value through the Cloud Quotas API,
the contactEmail field is required. This email address cannot be a group
email.
For examples of using QuotaPreference in the API, see
Implement common use cases.
Cloud Quotas limitations in the Google Cloud console
The following limitations apply when you use Cloud Quotas in the Google Cloud console.
Requests for adjustments on quotas that have no usage
The Google Cloud console doesn't support quota adjustment requests for quotas that have no prior usage. However, you can still request a quota adjustment through the REST API or Google Cloud CLI:
gcloud
Request a quota adjustment by using the gcloud CLI
REST
Request a quota adjustment by using the REST API
For example, you might clone a project and know ahead of time that you need to
increase the value for
compute.googleapis.com/local_ssd_total_storage_per_vm_family. Although you
won't see that quota available in the Google Cloud console, you can still
use the API or gcloud CLI to request a quota adjustment. For more information, see
View ongoing rollouts.
Per-user quota usage doesn't appear
The Google Cloud console doesn't display per-user quota usage on the
Cloud Quotas page. If an application or service account exceeds
a per-user rate limit, then API requests return an HTTP
429 Too Many Requests status code, even when aggregate project-level metrics
on the Cloud Quotas page show that quota remains available.
To diagnose which user or service account is exhausting a per-user rate limit, complete the following steps:
- In the Google Cloud console, select the project that initiates the API requests, and then go to the Metrics Explorer page.
- Click Select a metric, and then enter
serviceruntime.googleapis.com/api/request_countin the filter bar. In the submenus, select Consumed API > Api > Request count, and then click Apply. - In the Filter element, add filters for the response code and the target
service or API method:
- Click Add filter, and then select
response_code. In the filter dialog, leave Comparator set to = (equals), enter429in the Value field, and then click Apply. - Click Add filter again, and then select either
service(for example, entersqladmin.googleapis.comin the Value field for Cloud SQL Admin API) ormethod(for example, entergoogle.cloud.sql.v1.SqlInstancesService.Getin the Value field), and then click Apply.
- Click Add filter, and then select
- In the Aggregation element, verify that the first menu is set to
Sum, and then in the second menu (next to by), select
credential_idto group requests by individual credential. - In the results, find the credential ID (
credential_id) with the highest number of429response codes. This value is the OAuth 2.0 client ID of the service account or user credential that is exhausting the per-user rate limit. - To find which service account corresponds to that client ID, go to the Service accounts page in the Google Cloud console and search for the OAuth 2.0 client ID matching the credential ID. The matching entry is the service account that is exhausting the per-user rate limit.
To resolve the error after you identify the service account, implement client-side caching or exponential backoff in the client application, distribute workloads across distinct service accounts, or request a quota adjustment.