Project

General

Profile

Actions

Task #3652

closed

Idea #3705: [Keep] Generalize PullList module to BlockWorkList

Rewrite PullList as a BlockManager implementation

Added by Tim Pierce over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Tim Pierce
Target version:

Description

Keepstore should be able to fulfill a pull list asynchronously: once a pull list has been received, send it to a goroutine for fulfillment.

The goroutine satisfies each request by trying each server in the order given, and stores the block locally exactly as if a user had delivered it with a PUT request.

If all servers for a given request fail, that request is abandoned.

Once all requests have been processed, the pull list may be abandoned. There is no need to retry failed requests.

The goroutine should check its input channel after handling each pull request. If new data is available (indicating that a new pull list has been sent by Data Manager) it should abandon the current queue and read the new pull list.

Actions #1

Updated by Tim Pierce over 9 years ago

  • Parent task changed from #3414 to #3705
Actions #2

Updated by Tim Pierce over 9 years ago

  • Subject changed from Fetch blocks on the pull list asynchronously to Rewrite PullList as a BlockManager implementation
Actions #3

Updated by Tim Pierce over 9 years ago

  • Status changed from New to In Progress
Actions #4

Updated by Tim Pierce over 9 years ago

  • Status changed from In Progress to Resolved
  • Remaining (hours) set to 0.0
Actions

Also available in: Atom PDF