| 1 | = Client data model = |
| 2 | |
| 3 | This document describes proposed changes to the client |
| 4 | so that it can handle distributed storage. |
| 5 | |
| 6 | == Current == |
| 7 | |
| 8 | generated_locally |
| 9 | upload_when_present |
| 10 | uploaded |
| 11 | sticky |
| 12 | urls |
| 13 | |
| 14 | == Problems == |
| 15 | |
| 16 | == Proposed == |
| 17 | |
| 18 | FILE_INFO elements: |
| 19 | |
| 20 | '''upload_urls''' |
| 21 | '''download_urls''' |
| 22 | |
| 23 | <file_info> elements in scheduler replies: |
| 24 | |
| 25 | * if referenced from an app version or workunit, |
| 26 | set download_if_not_present |
| 27 | |
| 28 | * if referenced from a result, |
| 29 | and no_upload is not present, |
| 30 | set upload_when_present. |
| 31 | |
| 32 | If we get an upuload request and the file isn't there, return error |
| 33 | |
| 34 | Edge case: |
| 35 | an input file that may have been generated by a previous job. |
| 36 | If not, this job should generate it. |
| 37 | Include such a file as an output, not an input. |
| 38 | Input files have the property that if they're not present, |
| 39 | we download them. |