Add support for transfer summary information.#1
Conversation
Motivation: We want to know why a transfer failed. Modification: Add ability for the active party to provide summary information about a transfer. This is in the form of ancillary lines: key-value pairs after the one-line summary. Add a data-over-HTTP specific ancillary line that carries the HTTP status line from the GET/PUT request. These are all optional, so existing servers are conforming. Result: A client can discover more information about failing transfers.
|
I'm sure you're considering this already: The ancillary lines match the format of the progress markers. I propose describing the Of course this primarily affects naming and structure of the specification, the only effect on the wire protocol would be to (optionally?) add an |
|
Hi @pskopnik I like your idea: I think describing the output as you describe makes a lot of sense. However, I'd like to pursue that as a separate activity: not to do too much in a single commit and to avoid mixing refactoring (updating existing descriptions) and adding new features. Therefore, I've created an new issue, #2, that (I hope) captures your intent here. |
|
Thanks for considering, that sounds sensible 👍 The only things which remains to be discussed from my previous comment is whether to add an |
|
I'm a little worried about making breaking changes, unless there's a good reason. Requiring an So, one possibility would be make |
|
I see your point, of course the protocol evolution has to be managed carefully. The 92476c2 (current So there are some alternatives for this PR:
My favoured alternative would be 3. + 4., for bringing the summary report in line with the format of the progress markers. In your comment #2 (comment), you also raise the benefit of a client being certain that the summary report is concluded.
|
|
Thanks for you input. I think you've summarised the different options very well. I've given this some more thought. I would go with something similar to 3., but phrased a little stronger: Server MUST send When I get a spare moment, I'll update the pull request accordingly. This way, we have a bit of pressure on the storage-elements to update their output, without forcing anything. We need to check that the storage-element providers are happy with this change. |
|
Alright, sounds good. This matches my preference of 3. + 4. as well.
Yes, that's true. If the major HTTP-TPC server software projects are changed, I guess the operators will be happy to gradually update to new versions. |
Motivation:
We want to know why a transfer failed.
Modification:
Add ability for the active party to provide summary information about a transfer. This is in the form of ancillary lines: key-value pairs after the one-line summary.
Add a data-over-HTTP specific ancillary line that carries the HTTP status line from the GET/PUT request.
These are all optional, so existing servers are conforming.
Result:
A client can discover more information about failing transfers.