Skip to content

test_write_and_bulk_delete in the google_cloud_storage_test_suite fails consistently after first run #5398

@mattsre

Description

@mattsre

Describe the bug
After running make test-all once without tearing down the Docker containers, future runs of make test-all consistently fail on the google_cloud_storage_test_suite, specifically on the write_and_bulk_delete test.

Caused by:
    0: storage error(kind=Io, source=Unexpected (temporary) at Writer::close, context: { uri: http://127.0.0.1:4443/upload/storage/v1/b/sample-bucket/o?uploadType=media&name=foo, response: Parts { status: 500, version: HTTP/1.1, headers: {"content-type": "application/json", "date": "Fri, 06 Sep 2024 23:34:15 GMT", "content-length": "124"} }, service: gcs, path: foo } => {"error":{"code":500,"message":"rename /tmp/.foo319022535277020113 /storage/sample-bucket/foo: file exists","errors":null}}
       )
    1: Unexpected (temporary) at Writer::close, context: { uri: http://127.0.0.1:4443/upload/storage/v1/b/sample-bucket/o?uploadType=media&name=foo, response: Parts { status: 500, version: HTTP/1.1, headers: {"content-type": "application/json", "date": "Fri, 06 Sep 2024 23:34:15 GMT", "content-length": "124"} }, service: gcs, path: foo } => {"error":{"code":500,"message":"rename /tmp/.foo319022535277020113 /storage/sample-bucket/foo: file exists","errors":null}}

The fake GCS server logs some 404/500 responses:

2024-09-06 22:42:02 time=2024-09-07T02:42:02.055Z level=INFO msg="172.16.7.1 - - [07/Sep/2024:02:42:02 +0000] \"GET /storage/v1/b/sample-bucket/o/write_and_delete HTTP/1.1\" 200 470\n"
2024-09-06 22:42:02 time=2024-09-07T02:42:02.057Z level=INFO msg="172.16.7.1 - - [07/Sep/2024:02:42:02 +0000] \"DELETE /storage/v1/b/sample-bucket/o/write_and_delete HTTP/1.1\" 200 5\n"
2024-09-06 22:42:02 time=2024-09-07T02:42:02.060Z level=INFO msg="172.16.7.1 - - [07/Sep/2024:02:42:02 +0000] \"GET /storage/v1/b/sample-bucket/o/write_and_delete HTTP/1.1\" 404 59\n"
2024-09-06 22:42:02 time=2024-09-07T02:42:02.062Z level=INFO msg="172.16.7.1 - - [07/Sep/2024:02:42:02 +0000] \"DELETE /storage/v1/b/sample-bucket/o/write_and_delete HTTP/1.1\" 404 59\n"
2024-09-06 22:42:02 time=2024-09-07T02:42:02.073Z level=INFO msg="172.16.7.1 - - [07/Sep/2024:02:42:02 +0000] \"POST /upload/storage/v1/b/sample-bucket/o?uploadType=media&name=foo HTTP/1.1\" 500 125\n"

Steps to reproduce (if applicable)
Steps to reproduce the behavior:

  1. Clone repo and run make test-all, expect all tests to pass the first time
  2. Run make test-all again, expect test_write_and_bulk_delete to fail

Expected behavior
Expect tests to not change from passing to failing without any code changes. It seems maybe some data from previous runs is left behind in the fake GCS server and causes future runs to fail?

Configuration:

> git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

> git rev-parse --short HEAD
79acfe40

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions