From 9c165f3a9b49db0f2098a60667b6f0939447b8a6 Mon Sep 17 00:00:00 2001 From: Shintaro Murakami Date: Tue, 22 Dec 2020 13:55:37 +0900 Subject: [PATCH] ResourceExhausted is a recoverableError --- stackdriver/client.go | 2 +- stackdriver/client_test.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/stackdriver/client.go b/stackdriver/client.go index fec0aa08..ab74e86b 100644 --- a/stackdriver/client.go +++ b/stackdriver/client.go @@ -232,7 +232,7 @@ func (c *Client) Store(req *monitoring.CreateTimeSeriesRequest) error { // codes.Unavailable: // The condition is most likely transient. The request can // be retried with backoff. - case codes.DeadlineExceeded, codes.Unavailable: + case codes.DeadlineExceeded, codes.Unavailable, codes.ResourceExhausted: errors <- recoverableError{err} default: errors <- err diff --git a/stackdriver/client_test.go b/stackdriver/client_test.go index 05bab9a1..b87a7c22 100644 --- a/stackdriver/client_test.go +++ b/stackdriver/client_test.go @@ -110,6 +110,10 @@ func TestStoreErrorHandling(t *testing.T) { status: status.New(codes.DeadlineExceeded, longErrMessage), recoverable: true, }, + { + status: status.New(codes.ResourceExhausted, longErrMessage), + recoverable: true, + }, } for i, test := range tests {