Opened at 2022-06-08T18:05:53Z
Last modified at 2023-07-06T15:19:40Z
#3901 closed task
End-to-end support for new HTTP storage protocol: tracking issue — at Version 5
Reported by: | itamarst | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | HTTP Storage Protocol |
Component: | unknown | Version: | n/a |
Keywords: | Cc: | ||
Launchpad Bug: |
Description (last modified by itamarst)
Each of these will be zero or more additional tickets:
- #3902: Storage nodes can be started with HTTP protocol (It is maybe possible but not worth doing to do this via storage plugin.)
- Storage nodes send the NURL to an introducer, in addition to the fURL for legacy Foolscap protocol. This is sent as an announcement upgrade so it supercedes existing announcement.
- The introducer sends NURLs to storage clients. INVARIANT: old storage clients can safely get and ignore NURLs. If this is not the case, some conditional logic needs to be introduced so old clients don't get NURLs.
- The storage client understands NURLs, and use HTTP protocol instead of Foolscap when possible. See design doc for further discussion (QUESTION: is it actually possible to say "this furl and nurl are for the same server"? technically, maybe but not necessary given announcement upgrades).
- Currently the storage client caches per-server FURLs indefinitely. New clients should check with introducer if a NURL (HTTP) has replaced a FURL (Foolscap) and update appropriately.
- The client may only have FURL, and not have introducer. For that situation the Foolscap protocol should grow a away for clients to get new URLs (remote_get_version?)
Change History (5)
comment:1 Changed at 2022-06-08T18:16:28Z by itamarst
- Description modified (diff)
comment:2 Changed at 2022-06-08T18:21:40Z by itamarst
- Description modified (diff)
comment:3 Changed at 2022-06-08T19:06:04Z by itamarst
- Description modified (diff)
comment:4 Changed at 2022-06-08T19:06:28Z by itamarst
- Description modified (diff)
comment:5 Changed at 2022-06-10T13:52:36Z by itamarst
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.