WebUI: enhance "put" operations #4017

Open
opened 2023-04-25 18:05:03 +00:00 by meejah · 0 comments
meejah commented 2023-04-25 18:05:03 +00:00
Owner

Currently, the WebUI API for uploading a file (aka tahoe put) only returns when the file is uploaded to storage-servers.

This makes sense: your file isn't "put" into Tahoe until that happens. However, it makes progress information hard because the fine-grained progress API indexes operations by "storage-index" which you only learn after the HTTP operation that tahoe put uses is completely finished.

It's also not useful to show progress of the data-transfer: Tahoe accepts it quickly (usually this is via localhost) into a temporary area before doing erasure-encoding etc and uploading to storage-servers.

One approach could be a "two-part" API where you initiate the operation (i.e send all the data to your local tahoe client) and receive a handle of some kind. If possible, this could be the storage-index.

Then, a second API can be used to "wait for handle X to complete". Meantime, the existing progress information is used to determine the encoding and upload (to actual storage-servers) progress. (Note that this needs a storage-index currently).

Currently, the WebUI API for uploading a file (aka `tahoe put`) only returns when the file is uploaded to storage-servers. This makes sense: your file isn't "put" into Tahoe until that happens. However, it makes progress information hard because the fine-grained progress API indexes operations by "storage-index" which you only learn after the HTTP operation that `tahoe put` uses is completely finished. It's also not useful to show progress of the data-transfer: Tahoe accepts it quickly (usually this is via localhost) into a temporary area before doing erasure-encoding etc and uploading to storage-servers. One approach could be a "two-part" API where you initiate the operation (i.e send all the data to your local tahoe client) and receive a handle of some kind. If possible, this could be the storage-index. Then, a second API can be used to "wait for handle X to complete". Meantime, the existing progress information is used to determine the encoding and upload (to actual storage-servers) progress. (Note that this needs a storage-index currently).
tahoe-lafs added the
unknown
normal
enhancement
n/a
labels 2023-04-25 18:05:03 +00:00
tahoe-lafs added this to the undecided milestone 2023-04-25 18:05:03 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tahoe-lafs/trac-2024-07-25#4017
No description provided.