Actions
Feature #5391
open[SDK] Go KeepClient offers a "read block" API that recovers from transmission errors by attempting alternate servers.
Status:
New
Priority:
Normal
Assigned To:
-
Category:
SDKs
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Story points:
-
Description
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), 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.
Actions