citus/src/backend/distributed
Onder Kalaci 90943a6ce6 Do not include coordinator shards when round-robin is selected
When the user picks "round-robin" policy, the aim is that the load
is distributed across nodes. However, for reference tables on the
coordinator, since local execution kicks in immediately, round-robin
is ignored.

With this change, we're excluding the placement on the coordinator.
Although the approach seems a little bit invasive because of
modifications in the placement list, that sounds acceptable.

We could have done this in some other ways such as:

1) Add a field to "Task->roundRobinPlacement" (or such), which is
updated as the first element after RoundRobinPolicy is applied.
During the execution, if that placement is local to the coordinator,
skip it and try the other remote placements.

2) On TaskAccessesLocalNode()@local_execution.c, check
task_assignment_policy, if round-robin selected and there is local
placement on the coordinator, skip it. However, task assignment is done
on planning, but this decision is happening on the execution, which
could create weird edge cases.
2019-11-15 06:03:32 -08:00
..
commands Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
connection add IsLoggableLevel utility function (#3149) 2019-11-15 14:59:13 +03:00
deparser create_distributed_function: accept aggregates 2019-11-06 18:23:37 +00:00
executor Do not include coordinator shards when round-robin is selected 2019-11-15 06:03:32 -08:00
master Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
metadata Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
planner Do not include coordinator shards when round-robin is selected 2019-11-15 06:03:32 -08:00
progress Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
relay Remove copyright years (#2918) 2019-10-15 17:44:30 +03:00
sql Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
test Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
transaction Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
utils Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
worker Replicate reference tables to coordinator. 2019-11-15 05:50:19 -08:00
.gitignore Change SQL migration build process for easier reviews (#2951) 2019-09-13 18:44:27 +02:00
Makefile Fix depend arguments for OSX clang cpp (#2978) 2019-09-16 15:22:07 +02:00
citus.control Add shouldhaveshards to pg_dist_node (#2960) 2019-10-22 16:47:16 +02:00
shared_library_init.c Remove citus.worker_list_file & master_initialize_node_metadata 2019-11-13 00:49:58 +00:00