mirror of https://github.com/citusdata/citus.git
Description: Support round-robin `task_assignment_policy` for queries to reference tables. This PR allows users to query multiple placements of shards in a round robin fashion. When `citus.task_assignment_policy` is set to `'round-robin'` the planner will use a round robin scheduling feature when multiple shard placements are available. The primary use-case is spreading the load of reference table queries to all the nodes in the cluster instead of hammering only the first placement of the reference table. Since reference tables share the same path for selecting the shards with single shard queries that have multiple placements (`citus.shard_replication_factor > 1`) this setting also allows users to spread the query load on these shards. For modifying queries we do not apply a round-robin strategy. This would be negated by an extra reordering step in the executor for such queries where a `first-replica` strategy is enforced. |
||
---|---|---|
.. | ||
data | ||
expected | ||
input | ||
mitmscripts | ||
output | ||
specs | ||
sql | ||
.gitignore | ||
Makefile | ||
Pipfile | ||
Pipfile.lock | ||
base_schedule | ||
failure_schedule | ||
isolation_schedule | ||
multi_follower_schedule | ||
multi_mx_schedule | ||
multi_schedule | ||
multi_task_tracker_extra_schedule | ||
pg_regress_multi.pl | ||
worker_schedule |