Feature #3734

[Keep] Keepstore and keepproxy support HTTP Range requests

Added by Tim Pierce over 4 years ago. Updated over 2 years ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
Keep
Target version:
Start date:
08/27/2014
Due date:
% Done:

0%

Estimated time:
Story points:
2.0

Description

If a request has a Range header, read only the desired portion from the data volume, and return the segment with appropriate HTTP status (206) and headers (e.g., Content-Length: 10001, Content-Range: 1234-11234/100000).

Skip hash verification (this would be impossible without reading the whole block). If a client needs to verify content hashes, it can either retrieve the whole block ahead of time and compute the checksums of each segment, or retrieve ranges in order and compute the hash piecewise.


Related issues

Related to Arvados - Bug #3663: [SDKs] Python CollectionReader should return at least one byte to caller per block read from Keep.Resolved2014-09-04

Related to Arvados - Feature #8228: [SDKs] [FUSE] Python SDK and arv-mount use Range requests when a caller requests part of a block that has been ejected from the cacheNew2016-01-19

History

#1 Updated by Ward Vandewege over 4 years ago

  • Story points set to 1.0

#2 Updated by Ward Vandewege over 4 years ago

  • Subject changed from Keep supports partial content to [Keep] Keep supports partial content

#3 Updated by Tom Clegg over 4 years ago

  • Target version changed from Arvados Future Sprints to 2014-10-08 sprint

#4 Updated by Brett Smith over 4 years ago

  • Assigned To set to Brett Smith

#5 Updated by Tom Clegg over 4 years ago

  • Target version changed from 2014-10-08 sprint to Arvados Future Sprints

#6 Updated by Ward Vandewege over 4 years ago

  • Target version changed from Arvados Future Sprints to 2014-10-29 sprint

#7 Updated by Tom Clegg over 4 years ago

  • Subject changed from [Keep] Keep supports partial content to [Keep] Keepstore, keepproxy, and Python SDK use HTTP Range to retrieve partial content where appropriate
  • Story points changed from 1.0 to 2.0

#8 Updated by Tom Clegg over 4 years ago

  • Target version changed from 2014-10-29 sprint to Arvados Future Sprints

#9 Updated by Tom Clegg about 3 years ago

  • Subject changed from [Keep] Keepstore, keepproxy, and Python SDK use HTTP Range to retrieve partial content where appropriate to [Keep] Keepstore and keepproxy support HTTP Range requests
  • Description updated (diff)

#10 Updated by Tom Morris over 2 years ago

  • Assigned To changed from Brett Smith to Tom Morris

#11 Updated by Tom Morris over 2 years ago

  • Assigned To deleted (Tom Morris)

Also available in: Atom PDF