Bug #4488
closed[SDKs] arvados.keep.KeepClient.KeepService should know whether it is a proxy
Description
As it currently stands, if a KeepClient finds that any one of its back end is a proxy, it KeepClient
assumes that all of them are. Although this is temporarily a safe assumption, it sets invisible dependencies that may cause the client to behave in subtly wrong ways in a mixed proxy/server environment.
- Extend
KeepService
to includeservice_type
- When setting up service roots, the KeepClient instantiates full
KeepService
objects with appropriate timeout and proxy settings KeepService.get
andKeepService.put
know which timeout settings to use and whether to include replication headers in a request
Related issues
Updated by Tom Clegg over 9 years ago
In a given scenario the SDK should either connect only to proxies, or only to disks -- so this shouldn't be an issue. (See #4529)
Updated by Tim Pierce over 9 years ago
I don't see how that works in the case of a federated environment, where a client may find itself talking to disks in a local Arvados install but proxies for a remote install.
At any rate, this change would still make the underlying code cleaner by allowing a KeepService to encapsulate all of the things it needs to know in order to communicate properly with the back-end, and would make it more robust in the face of a poorly set up environment. It may only be a nice-to-have, but I think it's a really nice to have.
Updated by Tom Clegg over 9 years ago
- Target version deleted (
Arvados Future Sprints)