Bug #3835

Updated by Tom Clegg over 5 years ago

Errors returned from arvados.keep.KeepClient.put are short and cryptic, e.g.:

arvados.errors.KeepWriteError: Write fail for d41d8cd98f00b204e9800998ecf8427e: wanted 2 but wrote 0

The SDK should record the reason why a write failed (at least one of the failed writes) and report it in the KeepWriteError that is raised to the user.

Each writer thread should either succeed or throw an exception. If the write does not eventually succeed, the main thread should report the last exception encountered for each service it attempted to use.