From 261a56138fba33ff7d898ab5907a6098125fefef Mon Sep 17 00:00:00 2001 From: sai-sunder-s <4540365+sai-sunder-s@users.noreply.github.com> Date: Tue, 20 Sep 2022 01:50:14 +0000 Subject: [PATCH] fix: Update token refresh threshold from 20 seconds to 5 minutes (#1146) * fix: Update token refresh threshold from 20 seconds to 5 minutes * update rt --- google/auth/_helpers.py | 6 +----- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/google/auth/_helpers.py b/google/auth/_helpers.py index 1b08ab87f..c70fd6a6b 100644 --- a/google/auth/_helpers.py +++ b/google/auth/_helpers.py @@ -23,11 +23,7 @@ from six.moves import urllib -# Token server doesn't provide a new a token when doing refresh unless the -# token is expiring within 30 seconds, so refresh threshold should not be -# more than 30 seconds. Otherwise auth lib will send tons of refresh requests -# until 30 seconds before the expiration, and cause a spike of CPU usage. -REFRESH_THRESHOLD = datetime.timedelta(seconds=20) +REFRESH_THRESHOLD = datetime.timedelta(seconds=300) def copy_docstring(source_class): diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 30a208ef5e1e6a09e1110541a05998d1db2559d6..9d3f4bcfdeb625d4d3acbba9d2eefe93d1c2e031 100644 GIT binary patch literal 10324 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 literal 10324 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