citus/src/test/regress/spec
Onder Kalaci aa6b641828 Throttle connections to the worker nodes
With this commit, we're introducing a new infrastructure to throttle
connections to the worker nodes. This infrastructure is useful for
multi-shard queries, router queries are have not been affected by this.

The goal is to prevent establishing more than citus.max_shared_pool_size
number of connections per worker node in total, across sessions.

To do that, we've introduced a new connection flag OPTIONAL_CONNECTION.
The idea is that some connections are optional such as the second
(and further connections) for the adaptive executor. A single connection
is enough to finish the distributed execution, the others are useful to
execute the query faster. Thus, they can be consider as optional connections.
When an optional connection is not allowed to the adaptive executor, it
simply skips it and continues the execution with the already established
connections. However, it'll keep retrying to establish optional
connections, in case some slots are open again.
2020-04-14 10:27:48 +02:00
..
README.md Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_add_node_vs_reference_table_operations.spec GUC for replicate reference tables on activate. 2020-04-08 12:42:45 -07:00
isolation_add_remove_node.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_alter_role_propagation.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_append_copy_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_cancellation.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_citus_dist_activity.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_cluster_management.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_concurrent_dml.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_copy_placement_vs_copy_placement.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_copy_placement_vs_modification.spec Tests for master_copy_shard_placement 2020-03-23 08:33:55 -07:00
isolation_copy_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_create_distributed_table.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_create_restore_point.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_create_table_vs_add_remove_node.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_data_migration.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_ddl_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_delete_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_dis2ref_foreign_keys_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_distributed_deadlock_detection.spec disable one of deadlock detection test (#3682) 2020-03-31 19:47:58 +03:00
isolation_distributed_transaction_id.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_dml_vs_repair.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_drop_alter_index_select_for_update_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_drop_shards.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_drop_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_dump_global_wait_edges.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_dump_local_wait_edges.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_ensure_dependency_activate_node.spec Prevent reference tables being dropped when replicating reference tables 2020-04-08 12:41:36 -07:00
isolation_extension_commands.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_get_all_active_transactions.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_get_distributed_wait_queries_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_hash_copy_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_insert_select_conflict.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_insert_select_repartition.spec Isolation tests for INSERT/SELECT repartition 2020-01-16 23:24:52 -08:00
isolation_insert_select_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_insert_select_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_insert_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_insert_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_insert_vs_vacuum.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_master_append_table.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_master_apply_delete.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_master_update_node.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_modify_with_subquery_vs_dml.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_multi_shard_modify_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_multiuser_locking.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_mx_common.include.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_partitioned_copy_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_progress_monitoring.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_range_copy_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_ref2ref_foreign_keys.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_ref2ref_foreign_keys_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_ref_select_for_update_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_ref_update_delete_upsert_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_reference_copy_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_reference_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_replace_wait_function.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_replicate_reference_tables_to_coordinator.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_select_for_update.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_select_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_select_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_shouldhaveshards.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_transaction_recovery.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_truncate_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_truncate_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_update_delete_upsert_vs_all_on_mx.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_update_node.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_update_node_lock_writes.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_update_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_upsert_vs_all.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
isolation_validate_vs_insert.spec Refactor isolation tests (#3062) 2019-12-10 16:12:54 +01:00
shared_connection_waits.spec Throttle connections to the worker nodes 2020-04-14 10:27:48 +02:00

README.md

In this folder, all tests which in the format of '*_add.spec' organized according to specific format.

You should use // in mx files not //. We preprocess mx files with cpp to include isolation_mx_common.include.spec.

For isolation tests, we selected 'n' representative operations and we aimed to perform all possible pairs of 'n' operations together. So first test just runs first of these 'n' operation with remaining 'n - 1' operation. Similary, second test just runs second operation with remaining 'n - 2' operation. With this logic, we eventually run every selected operation with every other selected operation.