Open justinlittman opened 13 years ago
Very good topic - do you think this paragraph in the HTTP citizenship section covers it? I was debating whether 504 Gateway Timeout would be more appropriate but in either case does it seem like this would be correct to simply describe in prose?
Clients MUST honor HTTP 503 Service Unavailable responses using a provided Retry-After header or using exponential back-off if Retry-After is not provided.
Given how our HSM works, I would have 2 choices: only stage the files in a bag which are requested, which places a burden on the client or stage all files when a single file is requested, which is expensive if only a subset of file is required. It would be preferable for a client to be able to request that an entire bag be staged; otherwise per file staging would be used.
From: acdha [reply@reply.github.com] Sent: Thursday, June 02, 2011 4:17 PM To: Littman, Justin Subject: Re: [restful-bag-server] HSM use case (#25)
Very good topic - do you think this paragraph in the HTTP citizenship section covers it? I was debating whether 504 Gateway Timeout would be more appropriate but in either case does it seem like this would be correct to simply describe in prose?
Clients MUST honor HTTP 503 Service Unavailable responses using a provided Retry-After header or using exponential back-off if Retry-After is not provided.
Reply to this email directly or view it on GitHub: https://github.com/acdha/restful-bag-server/issues/25#comment_1284302
Justin - does your use case require some logic within the spec to accommodate your staging requirements, or do we just need to encourage proper configurations at the server side? Sounds like Chris's entry under our Good HTTP Citizenship doesn't fully address your concern.
This mechanism does't allow the server to distinguish between requests for individual files and requests for the entire bag. (So the server knows what to stage.)
Much of the content at LC resides on an HSM. To get access to the content, it must be staged from tape to spinning disk. This will take an indeterminate amount of time. A mechanism should be specified for the server to indicate to client that content is not immediately available, but will be at some point in the future, and for the client to check when the content is available for retrieval.