Bug #7162
Updated by Tom Clegg over 9 years ago
Functional requirements: * The Go SDK Keep client will talk to all accessible Keep services, regardless of their service type. type (EXCEPT MAYBE: do we want to exclude services that don't define a service type? Ask Tom.) * The For any service that isn't a disk, the client will send the X-Keep-Desired-Replication header in all PUT requests, the request, and respect the X-Keep-Replicas-Stored header in the response, regardless of service type as it currently does for proxies. * The client only has one writer at a time writing to non-disk services, to avoid sending redundant requests (e.g., if it wants to 2 replicas of a block, it doesn't send the block to two gateways that will each replicate the block 2+ times). TBD: How should the client choose a timeout for non-disk, non-proxy services?