Project

General

Profile

Actions

Idea #14374

open

Multi-site (federated) object search in controller

Added by Tom Morris over 5 years ago. Updated about 2 months ago.

Status:
New
Priority:
Normal
Assigned To:
-
Category:
-
Target version:
Start date:
Due date:
Story points:
3.0
Release:
Release relationship:
Auto

Description

Implemented in controller.

  1. Distribute query to each cluster in the federation.
  2. Collect responses, collate by order and truncate to response item limit
  3. Construct a "page token" which consists of the original filters plus additional information needed to get remaining unseen items on each cluster
  4. Respond with object list and page token
  5. Subsequent requests should only use the page token

Query parameters:

  • enable_multisite_search
    • true enables multisite search
    • true by default?
    • provide cluster_id= to search only an individual cluster?
  • return_partial_results
    • when true, if a query to a remote cluster fails, return a response with that cluster stripped out and an additional "warning" field mentioning there was a problem
    • when false, if any query to a remote cluster fails, the whole request fails
  • multisite_search_timeout
    • how long to wait for a result from one of the remote clusters

Query considerations:

  • If "select" is specified and "uuid" is missing, must add in uuid for remote queries (needed for paging) and strip it out in the response
  • Only order on scalar columns. Disambiguate rows with the same value by ordering by uuid.
  • Cannot have "offset"
  • Must be "count=none"
  • Must be "distinct=false"

Related issues

Related to Arvados - Bug #14710: [Workbench] Child containers run on federated clusters do not show upNewActions
Related to Arvados Workbench 2 - Feature #15353: [Data operations] Chooser supports browing/picking projects/collections on federated clustersNewActions
Actions

Also available in: Atom PDF