GCSMap: error first time command is run but not the second
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
Research direction
The report identifies gcsfs.GCSMap and gcsfs/core.py:_call around line 458; first reproduce the failure with the exact snippet and inspect the authentication refresh path shown in the traceback. Done means the initial request succeeds consistently, or the expected first-call behavior is established with a regression test.
Written by the indexing model from the issue text.
Description
I'm trying to access data from a public GCS bucket using gcsfs.GCSMap.
The first time I run this code
import gcsfs
gcmap = gcsfs.GCSMap('pangeo-data/pyqg/barotropic/beta_00.zarr')
it fails with this error:
_call exception: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
Traceback (most recent call last):
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/gcsfs/core.py", line 458, in _call
r = meth(self.base + path, params=kwargs, json=json)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/auth/transport/requests.py", line 183, in request
self._auth_request, method, url, request_headers)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/auth/credentials.py", line 121, in before_request
self.refresh(request)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/credentials.py", line 117, in refresh
self._client_secret))
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 191, in refresh_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 110, in _token_endpoint_request
_handle_error_response(response_body)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
_call exception: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
Traceback (most recent call last):
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/gcsfs/core.py", line 458, in _call
r = meth(self.base + path, params=kwargs, json=json)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/auth/transport/requests.py", line 183, in request
self._auth_request, method, url, request_headers)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/auth/credentials.py", line 121, in before_request
self.refresh(request)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/credentials.py", line 117, in refresh
self._client_secret))
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 191, in refresh_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 110, in _token_endpoint_request
_handle_error_response(response_body)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
_call exception: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
Traceback (most recent call last):
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/gcsfs/core.py", line 458, in _call
r = meth(self.base + path, params=kwargs, json=json)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/requests/sessions.py", line 537, in get
return self.request('GET', url, **kwargs)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/auth/transport/requests.py", line 183, in request
self._auth_request, method, url, request_headers)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/auth/credentials.py", line 121, in before_request
self.refresh(request)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/credentials.py", line 117, in refresh
self._client_secret))
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 191, in refresh_grant
response_data = _token_endpoint_request(request, token_uri, body)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 110, in _token_endpoint_request
_handle_error_response(response_body)
File "/Users/rpa/miniconda3/envs/geo_scipy/lib/python3.6/site-packages/google/oauth2/_client.py", line 60, in _handle_error_response
error_details, response_body)
google.auth.exceptions.RefreshError: ('invalid_grant: Bad Request', '{\n "error": "invalid_grant",\n "error_description": "Bad Request"\n}')
If I run the exact same line again, it works. This is confusing. I remember a similar thing happened on a pangeo binder environment.
I'm using gcsfs version 0.1.2 installed from conda forge.
- Dominant language
- Python
- Stars
- 398
- Forks
- 181
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 36
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fsspec/gcsfs
-
bug enhancement
Difficulty 3/5 1-2 days Newbie friendliness 58/100
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
enhancement
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 3/5 1-2 days Newbie friendliness 42/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100