apache / opendal

Apache OpenDAL: access data freely.
https://opendal.apache.org
Apache License 2.0
3.25k stars 453 forks source link

bindings/java: Enable retry layer by default in behavior test #3458

Closed Xuanwo closed 10 months ago

suyanhanx commented 10 months ago

Since this issue has not been resolved, the Dropbox service in java binding has been failing to test tentatively.

Xuanwo commented 10 months ago

Related to https://github.com/apache/incubator-opendal/pull/3392

Xuanwo commented 10 months ago

By the way, maybe we should also take a review on dropbox code to avoid such ratelimit. For example, check dir first before calling create_dir.

RateLimited (temporary) at create_dir => DropboxErrorResponse { error_summary: "too_many_write_operations/" }

Context:
   uri: https://api.dropboxapi.com/2/files/create_folder_v2
   response: Parts { status: 429, version: HTTP/2.0, headers: {"cache-control": "no-cache", "content-security-policy": "sandbox allow-forms allow-scripts", "retry-after": "1", "x-content-type-options": "nosniff", "content-type": "application/json", "accept-encoding": "identity,gzip", "date": "Thu, 02 Nov 2023 04:37:05 GMT", "server": "envoy", "content-length": "107", "x-dropbox-response-origin": "far_remote", "x-dropbox-request-id": "ba43ab1d9e994630942eb59d2c91ae4c"} }
   service: dropbox
   path: a7aa844b-7688-4a1a-8fc8-a03110d09eeb/
Xuanwo commented 10 months ago

https://github.com/apache/incubator-opendal/pull/3392 has been merged, let's add retry layer.

tisonkun commented 10 months ago

It's already enabled with:

            this.operator = op.layer(RetryLayer.builder().build());

in the patch.