Replies: 2 comments 1 reply
-
It really depends, I can see cases when at the first call the service returns 404 because the resource is not available "yet", and so at the second time it works. My take on this would be to add a configuration setting in the |
Beta Was this translation helpful? Give feedback.
-
I do not think we should allow custom configuration for the client when it is used in core parts of the codebase as that can change runtime behavior, which is not desired. Also, these contexts are different than the HTTP streaming flow in the data plane. The data plane could be setup with a custom client that logs and then maps these exceptions to a non-retriable response without revealing the specifics to the client. |
Beta Was this translation helpful? Give feedback.
-
In the
HttpDataSource
class, we execute requests usingEdcHttpClient
without any fallbacks. This means thatFailsafeCall
will return aFailsafeException
after unsuccessful attempts for any kind of response error. However, errors like 404, 401, and 403 (and possibly others) do not need to be retried and should be returned after the first attempt.From a code perspective, it was designed to receive and handle such errors, but currently, this functionality is not reachable.
Connector/extensions/data-plane/data-plane-http/src/main/java/org/eclipse/edc/connector/dataplane/http/pipeline/HttpDataSource.java
Lines 62 to 91 in 0802581
The proposal is to use fallbacks, but the question is: which error codes should not be retried? Should it include all error codes from 400 to 500, or only specific ones?
Beta Was this translation helpful? Give feedback.
All reactions