Philip Dubé
							
						 
						
							 
							
							
								
								
							
							
								
							
								03ef456c50 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2871  from citusdata/pg12-test-prep  
							
							 
							
							... 
							
							
							
							Update tests in preparation for pg12 
							
						 
						
							2019-08-09 15:32:19 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								5459c01956 
								
							
								 
							
						 
						
							
							
								
								multi_partitioning_utils: version_above_ten  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								e0f19fb58c 
								
							
								 
							
						 
						
							
							
								
								multi_partitioning_1.out  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								5e835e7565 
								
							
								 
							
						 
						
							
							
								
								Fix multi_repair_shards. There's already a group/shardid entry, pg11 gives us back the inserted one, pg12 gives us the preexisting one  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								66ce2d2d2d 
								
							
								 
							
						 
						
							
							
								
								Materialize c1 to keep subplan ids in sync  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								9065ef429c 
								
							
								 
							
						 
						
							
							
								
								foreign_key_to_reference_table: terse to avoid differing order of drop cascade details  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								0d9e5bde9c 
								
							
								 
							
						 
						
							
							
								
								window_functions: 'ORDER BY time' when using lag(time) & coordinator_plan  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								7992077fd9 
								
							
								 
							
						 
						
							
							
								
								multi_modifying_xacts: don't differ in output if reference table select tries broken worker first  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								546b71ac18 
								
							
								 
							
						 
						
							
							
								
								multi_router_planner: be terse for ctes with false wheres  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								a523a5b773 
								
							
								 
							
						 
						
							
							
								
								multi_null_minmax_value_pruning: no versioning & coordinator_plan  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								871dabdc63 
								
							
								 
							
						 
						
							
							
								
								Force CTE materialization in pg12  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								667c67891e 
								
							
								 
							
						 
						
							
							
								
								intermediate_results: COSTS OFF  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								b2ea806d8a 
								
							
								 
							
						 
						
							
							
								
								extra_float_digits=0  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								705d1bf0e0 
								
							
								 
							
						 
						
							
							
								
								Use PG_JOB_CACHE_DIR  
							
							 
							
							
							
						 
						
							2019-08-09 15:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Hanefi Onaldi
							
						 
						
							 
							
							
								
								
							
							
								
							
								ef33282de4 
								
									
								
							
								 
							
						 
						
							
							
								
								Update Changelog for v8.3.2  
							
							 
							
							
							
						 
						
							2019-08-09 12:32:38 +03:00  
						
					 
				
					
						
							
							
								 
								Önder Kalacı
							
						 
						
							 
							
							
								
								
							
							
								
							
								e21578f3af 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2866  from citusdata/fix_83_regression  
							
							 
							
							... 
							
							
							
							Do not record relation accessess unnecessarily 
							
						 
						
							2019-08-08 18:47:58 +02:00  
						
					 
				
					
						
							
							
								 
								Onder Kalaci
							
						 
						
							 
							
							
							
								
							
								060ac11476 
								
							
								 
							
						 
						
							
							
								
								Do not record relation accessess unnecessarily  
							
							 
							
							... 
							
							
							
							Before this commit, we've recorded the relation accesses in 3 different
places
    - FindPlacementListConnection         -- applies all executor in tx block
    - StartPlacementExecutionOnSession()  -- adaptive executor only
    - StartPlacementListConnection()      -- router/real-time only
This is different than Citus 8.2, and could lead to query execution times
increase considerably on multi-shard commands in transaction block
that are on partitioned tables.
Benchmarks:
```
1+8 c5.4xlarge cluster
Empty distributed partitioned table with 365 partitions: https://gist.github.com/onderkalaci/1edace4ed6bd6f061c8a15594865bb51#file-partitions_365-sql 
./pgbench -f /tmp/multi_shard.sql -c10 -j10 -P 1 -T 120 postgres://citus:w3r6KLJpv3mxe9E-NIUeJw@c.fy5fkjcv45vcepaogqcaskmmkee.db.citusdata.com:5432/citus?sslmode=require
cat  /tmp/multi_shard.sql
BEGIN;
	DELETE FROM collections_list;
	DELETE FROM collections_list;
	DELETE FROM collections_list;
COMMIT;
cat  /tmp/single_shard.sql
BEGIN;
	DELETE FROM collections_list WHERE key = :aid;
	DELETE FROM collections_list WHERE key = :aid;
	DELETE FROM collections_list WHERE key = :aid;
COMMIT;
cat  /tmp/mix.sql
BEGIN;
	DELETE FROM collections_list WHERE key = :aid;
	DELETE FROM collections_list WHERE key = :aid;
	DELETE FROM collections_list WHERE key = :aid;
	DELETE FROM collections_list;
	DELETE FROM collections_list;
	DELETE FROM collections_list;
COMMIT;
```
The table shows `latency average` of pgbench runs explained above, so we have a pretty solid improvement even over 8.2.2.
| Test  | Citus 8.2.2  |  Citus 8.3.1   | Citus 8.3.2 (this branch)  | Citus 8.3.1 (FKEYs disabled via GUC)  |
| ------------- | ------------- | ------------- |------------- | ------------- |
|multi_shard |  2370.083 ms  |3605.040 ms |1324.094 ms |1247.255 ms  |
| single_shard  | 85.338 ms  |120.934 ms  |73.216 ms  | 78.765 ms |
| mix  | 2434.459 ms | 3727.080 ms  |1306.456 ms  | 1280.326 ms | 
							
						 
						
							2019-08-08 18:42:08 +02:00  
						
					 
				
					
						
							
							
								 
								Onder Kalaci
							
						 
						
							 
							
							
							
								
							
								35ee896f3d 
								
							
								 
							
						 
						
							
							
								
								Get rid of an unnecessary parameter  
							
							 
							
							... 
							
							
							
							targetPoolSize parameter for ExecuteUtilityTaskListWithoutResults
becomes obsolete, just remove it. 
							
						 
						
							2019-08-07 19:35:56 +02:00  
						
					 
				
					
						
							
							
								 
								Onder Kalaci
							
						 
						
							 
							
							
							
								
							
								b2e01d0745 
								
							
								 
							
						 
						
							
							
								
								Refactor switching to sequential mode  
							
							 
							
							... 
							
							
							
							We don't need to wait until the execution. As soon as we realize
that we need sequential execution, we should do it. 
							
						 
						
							2019-08-07 19:35:56 +02:00  
						
					 
				
					
						
							
							
								 
								Hanefi Onaldi
							
						 
						
							 
							
							
								
								
							
							
								
							
								263faffb27 
								
									
								
							
								 
							
						 
						
							
							
								
								Update CONTRIBUTING.md ( #2865 )  
							
							 
							
							... 
							
							
							
							* Update dependency versions
* Add libcurl and autoconf to required dependencies
* Add Clang/LLVM instructions for CentOS/RHEL setup 
							
						 
						
							2019-08-06 17:52:44 +03:00  
						
					 
				
					
						
							
							
								 
								Hadi Moshayedi
							
						 
						
							 
							
							
								
								
							
							
								
							
								f9efb21f1b 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2863  from citusdata/fix_typo  
							
							 
							
							... 
							
							
							
							Fix a typo in foreign_key_restriction_enforcement 
							
						 
						
							2019-08-02 16:13:43 -07:00  
						
					 
				
					
						
							
							
								 
								Hadi Moshayedi
							
						 
						
							 
							
							
							
								
							
								b1ab805ce2 
								
							
								 
							
						 
						
							
							
								
								Fix a typo in foreign_key_restriction_enforcement  
							
							 
							
							
							
						 
						
							2019-08-02 16:06:52 -07:00  
						
					 
				
					
						
							
							
								 
								Hadi Moshayedi
							
						 
						
							 
							
							
								
								
							
							
								
							
								a1a7d95c0a 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2861  from citusdata/less_polymorphic_plan_router_query  
							
							 
							
							... 
							
							
							
							PlanRouterQuery: don't store list of list of shard intervals in relationShardList 
							
						 
						
							2019-08-02 09:16:09 -07:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								b77c52f95b 
								
							
								 
							
						 
						
							
							
								
								PlanRouterQuery: don't store list of list of shard intervals in relationShardList  
							
							 
							
							
							
						 
						
							2019-08-02 14:08:57 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
								
								
							
							
								
							
								9b4ba2f5b2 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2858  from citusdata/multi_modifications_bug  
							
							 
							
							... 
							
							
							
							Use 2PC in adaptive executor when dealing with replication factors above 1 
							
						 
						
							2019-08-02 00:20:22 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								fdc0ef6392 
								
							
								 
							
						 
						
							
							
								
								Adaptive executor: use 2PC when replication_factor > 1  
							
							 
							
							
							
						 
						
							2019-08-01 23:55:12 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								19bcb1b4f7 
								
							
								 
							
						 
						
							
							
								
								multi_modifications: extend to demonstrate issue in adaptive executor  
							
							 
							
							
							
						 
						
							2019-08-01 23:55:04 +00:00  
						
					 
				
					
						
							
							
								 
								Hadi Moshayedi
							
						 
						
							 
							
							
								
								
							
							
								
							
								b81d5947e4 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2859  from citusdata/no_null_percent_s  
							
							 
							
							... 
							
							
							
							Avoid segfault in logging queries 
							
						 
						
							2019-08-01 09:36:52 -07:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								064bd66a20 
								
							
								 
							
						 
						
							
							
								
								Avoid segfault in logging queries  
							
							 
							
							
							
						 
						
							2019-07-31 15:28:46 +00:00  
						
					 
				
					
						
							
							
								 
								Hanefi Onaldi
							
						 
						
							 
							
							
								
								
							
							
								
							
								e88cb8335f 
								
									
								
							
								 
							
						 
						
							
							
								
								Update Changelog for v8.3.1  
							
							 
							
							
							
						 
						
							2019-07-29 13:10:28 +03:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
								
								
							
							
								
							
								dc67fa36c6 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2854  from citusdata/compare_shard_intervals_id_tie_breaker  
							
							 
							
							... 
							
							
							
							CompareShardIntervals: if intervals are equal, compare id 
							
						 
						
							2019-07-26 16:27:35 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								3982b4635f 
								
							
								 
							
						 
						
							
							
								
								CompareShardIntervals: if intervals are equal, compare id. Works around sort being unstable  
							
							 
							
							
							
						 
						
							2019-07-26 16:13:36 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
								
								
							
							
								
							
								6f1a8dfdbe 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2852  from citusdata/update_tests_colocation_utils_copy  
							
							 
							
							... 
							
							
							
							Update two tests, useful fallout from pg12 branch 
							
						 
						
							2019-07-25 17:36:16 +00:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
								
								
							
							
								
							
								c471d9680c 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2848  from citusdata/adaptive_executor_tuning  
							
							 
							
							... 
							
							
							
							Adaptive executor performance improvements 
							
						 
						
							2019-07-25 16:52:36 +02:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								0e233c63a3 
								
							
								 
							
						 
						
							
							
								
								multi_colocation_utils: sort by nodeport, not placementid  
							
							 
							
							... 
							
							
							
							multi_copy: replace smgr with aclitem, smgr is removed in pg12 
							
						 
						
							2019-07-25 14:33:43 +00:00  
						
					 
				
					
						
							
							
								 
								Hadi Moshayedi
							
						 
						
							 
							
							
								
								
							
							
								
							
								cd2905ec23 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2845  from citusdata/squash_migrations_56  
							
							 
							
							... 
							
							
							
							Squash migrations for versions 5/6, don't use WITH OIDS 
							
						 
						
							2019-07-24 11:10:15 -07:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								50144b75d0 
								
							
								 
							
						 
						
							
							
								
								Add check-empty to testing Makefile  
							
							 
							
							... 
							
							
							
							Don't create functions multiple times
Move ALTER TABLEs to their declaration
Remove DROP FUNCTIONS IF EXISTS, OR REPLACE 
							
						 
						
							2019-07-24 11:03:54 -07:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								acbaa38a62 
								
							
								 
							
						 
						
							
							
								
								Squash migrations for versions 5/6, don't use WITH OIDS  
							
							 
							
							
							
						 
						
							2019-07-24 11:03:29 -07:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
								
								
							
							
								
							
								3e6f3e4f3b 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2849  from citusdata/sort-list-is-not-in-place  
							
							 
							
							... 
							
							
							
							Update workerNodeList after sorting 
							
						 
						
							2019-07-23 21:04:22 +00:00  
						
					 
				
					
						
							
							
								 
								Hanefi Onaldi
							
						 
						
							 
							
							
							
								
							
								8127297999 
								
							
								 
							
						 
						
							
							
								
								update workerNodeList after sorting  
							
							 
							
							
							
						 
						
							2019-07-23 20:57:07 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
								
								
							
							
								
							
								6c5866cc4d 
								
									
								
							
								 
							
						 
						
							
							
								
								Merge pull request  #2850  from citusdata/fix_a_couple_shardid_tests  
							
							 
							
							... 
							
							
							
							Fix multi_prune_shard_list 
							
						 
						
							2019-07-23 20:19:55 +00:00  
						
					 
				
					
						
							
							
								 
								Philip Dubé
							
						 
						
							 
							
							
							
								
							
								6598c68993 
								
							
								 
							
						 
						
							
							
								
								Fix multi_prune_shard_list & don't set next_shard_id unnecessarily in multi_null_minmax_value_pruning  
							
							 
							
							
							
						 
						
							2019-07-23 19:44:18 +00:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								e2bc09838e 
								
							
								 
							
						 
						
							
							
								
								Use ereport instead of elog in adaptive executor  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								bd111366b0 
								
							
								 
							
						 
						
							
							
								
								Skip CheckConnectionTimeout when checkForPoolTimeout is false  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								a3811b1e55 
								
							
								 
							
						 
						
							
							
								
								Avoid FindWorkerNode calls in adaptive executor  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								4444d92dbc 
								
							
								 
							
						 
						
							
							
								
								Set initial pool size to cached connection count  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								4c0c33365e 
								
							
								 
							
						 
						
							
							
								
								Avoid creating a redundant event set at the start  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								32e7a80960 
								
							
								 
							
						 
						
							
							
								
								Avoid unnecessary calls to PQconsumeInput  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								71ad5c095b 
								
							
								 
							
						 
						
							
							
								
								Use ModifyWaitEvent when only wait flags changed  
							
							 
							
							
							
						 
						
							2019-07-23 20:40:32 +02:00  
						
					 
				
					
						
							
							
								 
								Marco Slot
							
						 
						
							 
							
							
							
								
							
								efbe58eab2 
								
							
								 
							
						 
						
							
							
								
								Fix SQL schema version, we skipped 8.3  
							
							 
							
							
							
						 
						
							2019-07-17 16:05:25 +02:00