Skip to content

Storage: 'test_access_to_public_bucket' systest flakes with 503 #8996

@tseaver

Description

@tseaver

From this Kokoro failure:

_______________ TestAnonymousClient.test_access_to_public_bucket _______________
self = <tests.system.TestAnonymousClient testMethod=test_access_to_public_bucket>
    @unittest.skipIf(RUNNING_IN_VPCSC, "Test is not VPCSC compatible.")
    def test_access_to_public_bucket(self):
        anonymous = storage.Client.create_anonymous_client()
        bucket = anonymous.bucket(self.PUBLIC_BUCKET)
>       blob, = bucket.list_blobs(max_results=1)
tests/system.py:1338:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../api_core/google/api_core/page_iterator.py:204: in _items_iter
    for page in self._page_iter(increment=False):
../api_core/google/api_core/page_iterator.py:235: in _page_iter
    page = self._next_page()
../api_core/google/api_core/page_iterator.py:361: in _next_page
    response = self._get_next_page_response()
../api_core/google/api_core/page_iterator.py:411: in _get_next_page_response
    method=self._HTTP_METHOD, path=self.path, query_params=params
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <google.cloud.storage._http.Connection object at 0x7ffaa60b91d0>
method = 'GET', path = '/b/gcp-public-data-landsat/o'
query_params = {'maxResults': 1, 'projection': 'noAcl'}, data = None
content_type = None, headers = None, api_base_url = None, api_version = None
expect_json = True, _target_object = None
    def api_request(
        self,
        method,
        path,
        query_params=None,
        data=None,
        content_type=None,
        headers=None,
        api_base_url=None,
        api_version=None,
        expect_json=True,
        _target_object=None,
    ):
        """Make a request over the HTTP transport to the API.
        ...
        """
        url = self.build_api_url(
            path=path,
            query_params=query_params,
            api_base_url=api_base_url,
            api_version=api_version,
        )
        # Making the executive decision that any dictionary
        # data will be sent properly as JSON.
        if data and isinstance(data, dict):
            data = json.dumps(data)
            content_type = "application/json"
        response = self._make_request(
            method=method,
            url=url,
            data=data,
            content_type=content_type,
            headers=headers,
            target_object=_target_object,
        )
        if not 200 <= response.status_code < 300:
>           raise exceptions.from_http_response(response)
E           google.api_core.exceptions.ServiceUnavailable: 503 GET https://www.googleapis.com/storage/v1/b/gcp-public-data-landsat/o?maxResults=1&projection=noAcl: ...
../core/google/cloud/_http.py:393: ServiceUnavailable

Metadata

Metadata

Assignees

Labels

api: storageIssues related to the Cloud Storage API.flakytestingtype: processA process-related concern. May include testing, release, or the like.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions