Project

General

Profile

Actions

Feature #5391

open

[SDK] Go KeepClient offers a "read block" API that recovers from transmission errors by attempting alternate servers.

Added by Peter Amstutz over 9 years ago. Updated 9 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
SDKs
Target version:
Story points:
-
Release:
Release relationship:
Auto

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 #1

Updated by Peter Amstutz over 9 years ago

  • Description updated (diff)
  • Category set to SDKs
Actions #2

Updated by Tom Clegg over 9 years ago

  • Tracker changed from Bug to Feature
  • Subject changed from [SDK] Go KeepClient will not try a different keep server on block hash mismatch to [SDK] Go KeepClient offers a "read block" API that recovers from transmission errors by attempting alternate servers.
  • Description updated (diff)
Actions #3

Updated by Tom Clegg over 9 years ago

  • Target version changed from Bug Triage to Arvados Future Sprints
Actions #4

Updated by Ward Vandewege over 3 years ago

  • Target version deleted (Arvados Future Sprints)
Actions #5

Updated by Peter Amstutz almost 2 years ago

  • Release set to 60
Actions #6

Updated by Peter Amstutz 9 months ago

  • Target version set to Future
Actions

Also available in: Atom PDF