clear cache of the result of GCECredentials.on_gce? when GCECredentials.on_gce? returns false. #137
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What will this PR change ?
GCECredentials.on_gce?
ifGCECredentials.on_gce?
returns false.GCECredentials.on_gce?
keeps returningfalse
even thoughGCECredentials::COMPUTE_CHECK_URI
is active, as I explained in the following.Why is this change needed?
GCECredentials.on_gce?
caches the result as a Class instance variable. So, onceGCECredentials.on_gce?
is called, this method keeps returning a same value in a same ruby process.GCECredentials.on_gce?
returns false occasionally even thoughCOMPUTE_CHECK_URI
is active.GCECredentials.on_gce?
returnsfalse
in the first time call,GCECredentials.on_gce?
keeps returningfalse
within a same ruby process.Google::Auth::GCECredentials.on_gce?
without caching in 30 times at GCE, I gotfalse
once in 30 times.Note:
Google::Auth::GCECredentials._unmemoized_on_gce?
is a method which is defined bymemoist
implicitly, and is executed without caching.Google:: Auth#get_application_default
should clear the cache of the result ofGCECredentials.on_gce?
whenGCECredentials.on_gce?
returns false.