Feature #5391

Updated by Tom Clegg almost 6 years ago

As an optimization, the Go keep client uses @HashCheckingReader@ which computes the hash incrementally and only reports an error when the entire reader has been consumed. If the 1st server has a corrupt block, but a 2nd server has a valid block (or something else goes wrong while reading from the 1st server), block, it will fail to find the valid block on the second server, because the block reader has already been returned to the caller.

The API should be adjusted to provide a safer default behavior as well the existing streaming mode.