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
KeepServiceto includeservice_type - When setting up service roots, the KeepClient instantiates full
KeepServiceobjects with appropriate timeout and proxy settings KeepService.getandKeepService.putknow which timeout settings to use and whether to include replication headers in a request
Updated by Tom Clegg over 11 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 11 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 11 years ago
- Target version deleted (
Arvados Future Sprints)