Feature #13993
closed
[API] Fetch remote-hosted collection by UUID
Added by Peter Amstutz over 6 years ago.
Updated about 6 years ago.
Release relationship:
Auto
Description
Enable a client to retrieve a collection record (with a given UUID) from its home cluster, even if the collection is hosted on a different cluster in a federation.
This issue covers the arvados-controller changes required for basic functionality.
- proxy "get collection" requests with foreign UUIDs to the appropriate remote cluster (similar to #13493)
- alter the signature hints in the returned record so keepstore will be able to get the data from the remote cluster (see Federated collections wiki)
This issue does not include
- cache optimizations
- changes to keepstore (#13994)
- Subject changed from [API] Fetch remote-hosted container by UUID to [API] Fetch remote-hosted collection by UUID
- Description updated (diff)
- Related to Feature #13994: [Keepstore] Fetch blocks from federated clusters added
- Description updated (diff)
- Description updated (diff)
- Description updated (diff)
- Target version changed from To Be Groomed to Arvados Future Sprints
- Story points set to 2.0
- Description updated (diff)
- Target version changed from Arvados Future Sprints to 2018-09-05 Sprint
- Assigned To set to Fuad Muhic
- Assigned To deleted (
Fuad Muhic)
- Related to Feature #14087: [controller] Fetch remote-hosted collections by PDH added
- Target version changed from 2018-09-05 Sprint to 2018-09-19 Sprint
- Subject changed from [API] Fetch remote-hosted collection by UUID to [API] Fetch remote-hosted collection by UUID
- Assigned To set to Peter Amstutz
Some comments:
- On file
lib/controller/federation.go
- I think it would be convenient to update the locator format documentation to describe a
+R
hint
- We have a previous signed locator Regex on
sdk/go/keepclient/perms.go:68
that looks more correct (because I believe the current one doesn’t allow +A
hints that aren’t signature hints), should we export it so it can be reused here?
- Tests are failing
Lucas Di Pentima wrote:
Some comments:
- On file
lib/controller/federation.go
- Line 96 - Small detail: I think just multiplying by 1.1 would more readable
I was trying to avoid converting to double precision and back but I agree that's a silly micro-optimization in this case at the expense of readability
See below
- I think it would be convenient to update the locator format documentation to describe a
+R
hint
I have a documentation story to write up federation features (the task on #13493 assigned to me), maybe I can do it there?
- We have a previous signed locator Regex on
sdk/go/keepclient/perms.go:68
that looks more correct (because I believe the current one doesn’t allow +A
hints that aren’t signature hints), should we export it so it can be reused here?
I consolidated the regex so the one in keepclient can be used by federation.go
Works for me... Kicked off a run here: https://ci.curoverse.com/view/Developer/job/developer-run-tests/881/
Just one question: Would it be convenient to also add a test for a local collection request, so we test both sides?
Apart from that, it LGTM.
Lucas Di Pentima wrote:
Just one question: Would it be convenient to also add a test for a local collection request, so we test both sides?
Apart from that, it LGTM.
Added TestGetLocalCollection @ 9d2e1158e961801db714236c6942bd3596b867e7
- Status changed from New to Resolved
Also available in: Atom
PDF