fake-gcs-server icon indicating copy to clipboard operation
fake-gcs-server copied to clipboard

Batch delete operations failed for `unable to process request`

Open Xuanwo opened this issue 1 year ago • 2 comments

When making a batch request to fake-gce-server, it responds with "unable to process request" for every part.

--349bb61a455a0215f770b8fbec1504b2ed685bbeb93f6beca85a9dfbbe8e\r\n
Content-Id: 0\r\n
Content-Type: application/http\r\n
\r\n
HTTP/1.1 400 Bad Request\r\n
Connection: close\r\n
Content-Type: text/plain; charset=utf-8\r\n
X-Content-Type-Options: nosniff\r\n\
r\n
unable to process request\n
\r\n
--349bb61a455a0215f770b8fbec1504b2ed685bbeb93f6beca85a9dfbbe8e\r\n
  • The same request works fine on real gcs service.
  • I attempted to set the log-level to debug, but couldn't find any additional meaningful information.
  • Version 1.4.7

Xuanwo avatar Jan 09 '24 05:01 Xuanwo

Thanks for reporting! Would you be able to share a snippet reproducing the issue?

fsouza avatar Jan 10 '24 04:01 fsouza

When using fake-gcs-server with Docker,

docker run -d --name fake-gcs-server -p 4443:4443 -v ${PWD}/data:/data fsouza/fake-gcs-server -scheme http

and sending an HTTP request (sent by the opendal project) using the GCS batch API like this,

POST /batch/storage/v1 HTTP/1.1
content-type: multipart/mixed; boundary=opendal-ade6d51e-686a-48a8-925b-80f3a77b16a4
content-length: 424
accept: */*
host: 127.0.0.1:4443

--opendal-ade6d51e-686a-48a8-925b-80f3a77b16a4
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 0

DELETE /storage/v1/b/bucket_1/o/test_0.txt HTTP/1.1

--opendal-ade6d51e-686a-48a8-925b-80f3a77b16a4
Content-Type: application/http
Content-Transfer-Encoding: binary
Content-ID: 1

DELETE /storage/v1/b/bucket_1/o/test_1.txt HTTP/1.1

--opendal-ade6d51e-686a-48a8-925b-80f3a77b16a4--

it reproduces this issue.

HTTP/1.1 200 OK
Content-Type: multipart/mixed; boundary=e1d04395bf35360ac8c8839f19c2f89d85124b7c2b97985186c851a3f276
Date: Tue, 16 Jan 2024 06:31:25 GMT
Content-Length: 590

--e1d04395bf35360ac8c8839f19c2f89d85124b7c2b97985186c851a3f276
Content-Id: 0
Content-Type: application/http

HTTP/1.1 400 Bad Request
Connection: close
Content-Type: text/plain; charset=utf-8
X-Content-Type-Options: nosniff

unable to process request

--e1d04395bf35360ac8c8839f19c2f89d85124b7c2b97985186c851a3f276
Content-Id: 1
Content-Type: application/http

HTTP/1.1 400 Bad Request
Connection: close
Content-Type: text/plain; charset=utf-8
X-Content-Type-Options: nosniff

unable to process request

--e1d04395bf35360ac8c8839f19c2f89d85124b7c2b97985186c851a3f276--

zjregee avatar Jan 16 '24 06:01 zjregee