Commit Graph

2842 Commits (86a4c0925bbbe9fdfb27103f9d223c0a2bc0dbf8)

Author SHA1 Message Date
Onder Kalaci 18de78f386 Relax the colocation checks for distributed functions
As long as the types can be coerced, it is safe to pushdown
functions.
2019-09-24 16:31:08 +02:00
Jelte Fennema 7172c7f727
Add editorconfig settings for yaml files (#3027) 2019-09-24 16:09:20 +02:00
Jelte Fennema 0f90c2497e Use synchronous replication for follower tests 2019-09-24 15:51:49 +02:00
Jelte Fennema 78ccc323d1 Remove stuff needed only for PG 9.6 from test runner 2019-09-24 15:51:49 +02:00
Jelte Fennema bd2103e597 Remove flappy test 2019-09-24 14:15:33 +02:00
Jelte Fennema 897ec1bdeb Revert "Temporarily disable flappy test"
This reverts commit 4b4459ee62.
2019-09-24 14:15:33 +02:00
Marco Slot 4acca9b9fe
Merge pull request #3016 from citusdata/fix/swap_sequences
Swap pg_dist_node groupid and nodeid sequences
2019-09-24 12:46:16 +02:00
Marco Slot 42be8afd74 Swap pg_dist_node groupid and nodeid sequences 2019-09-24 12:03:44 +02:00
Marco Slot 0dea485c68 Fix misspelling in multi_colocation_utils 2019-09-24 11:27:30 +02:00
Marco Slot 4b4459ee62 Temporarily disable flappy test 2019-09-24 11:02:34 +02:00
Hadi Moshayedi e293230712
Merge pull request #3020 from citusdata/fix-pg12
Fix pg12
2019-09-23 15:18:43 -07:00
Hadi Moshayedi 48078a30e6 Fix wait_until_metadata_sync() for postgres 12.
Postgres 12 now has an assertion that the calls to WaitLatchOrSocket
handle postmaster death.
2019-09-23 14:15:35 -07:00
Philip Dubé 06faba91c0 Include ifdefs for pg12 API changes, update local_shard_executiuon test to avoid CTE inlining 2019-09-23 20:22:35 +00:00
Önder Kalacı ec9fee1c92
Merge pull request #3005 from citusdata/sync_metadata_to_node
Sync metadata to worker nodes after create_distributed_function
2019-09-23 19:01:38 +02:00
Onder Kalaci d37745bfc7 Sync metadata to worker nodes after create_distributed_function
Since the distributed functions are useful when the workers have
metadata, we automatically sync it.

Also, after master_add_node(). We do it lazily and let the deamon
sync it. That's mainly because the metadata syncing cannot be done
in transaction blocks, and we don't want to add lots of transactional
limitations to master_add_node() and create_distributed_function().
2019-09-23 18:30:53 +02:00
Marco Slot 59fe461d4a
Merge pull request #3009 from citusdata/small_serial
Support serial and smallserial when syncing metadata
2019-09-23 17:53:40 +02:00
Marco Slot b749d4fb65
Merge pull request #3008 from citusdata/fix/select_for_update
Fix assert failure in bare SELECT FROM reference table FOR UPDATE in MX
2019-09-23 17:41:04 +02:00
Marco Slot 5f23b951c7 Support serial and smallserial when syncing metadata 2019-09-23 17:39:21 +02:00
Marco Slot e58d76c5f6 Fix assert failure in bare SELECT FROM reference table FOR UPDATE in MX 2019-09-23 17:00:09 +02:00
SaitTalhaNisanci 71e7047e65
Enhance pg upgrade tests (#3002)
* Enhance pg upgrade tests

* Add a specific upgrade test for pg_dist_partition

We store the index of distribution column, and when a column with an
index that is smaller than distribution column index is dropped before
an upgrade, the index should still match the distribution column after
an upgrade
2019-09-23 17:37:14 +03:00
SaitTalhaNisanci 7bf04a999c
Refactor circleci config for better readability (#3013) 2019-09-23 16:21:21 +03:00
Marco Slot 9474bee98b
Merge pull request #3006 from citusdata/router_row_types
Support anonymous composite types on the target list in router queries
2019-09-23 15:02:19 +02:00
Marco Slot d85d77634d Handle anonymous composite types on the target list 2019-09-23 14:53:02 +02:00
Önder Kalacı 03fa3628f1
Merge pull request #2989 from citusdata/mx_isolation_test_update_delete_upsert
MX Isolation Tests for Update, Delete and Upsert
2019-09-23 14:43:21 +02:00
Halil Ozan Akgul b55b275a30 Created isolation tests for update, delete and upsert on MX 2019-09-23 14:13:29 +03:00
Önder Kalacı 900f5a61fc
Merge pull request #2990 from citusdata/add_function_arguments
Add arguments to `create_distributed_function()`
2019-09-23 08:35:32 +02:00
Onder Kalaci d7e2968120 Add parameters to create_distributed_function()
With this commit, we're changing the API for create_distributed_function()
such that users can provide the distribution argument and the colocation
information.
2019-09-22 21:53:33 +02:00
Önder Kalacı ff100b2720
Merge pull request #3001 from citusdata/fix_add_node_func
Make sure that functions are also listed in `SupportedDependencyByCitus`
2019-09-20 11:09:16 +02:00
Onder Kalaci e1fe8d60b4 Make sure that functions are also listed in SupportedDependencyByCitus
We've recently merged two commits, db5d03931d
and eccba1d4c3, which actually operates
on the very similar places.

It turns out that we've an integration issue, where master_add_node()
fails to replicate the functions to newly added node.
2019-09-20 11:02:50 +02:00
Hadi Moshayedi 4875c3c81c
Merge pull request #2997 from citusdata/fix_master_update_node
Set current snapshot in maintenance daemon.
2019-09-19 09:50:50 -07:00
Hadi Moshayedi d24cefd055 Set active snapshot before SyncMetadataToNodes(). 2019-09-19 09:00:25 -07:00
Philip Dubé 46866066cf
Merge pull request #3000 from citusdata/fix/disable_object_propagation-test-pg12
fix disable_object_propagation test for pg12
2019-09-19 15:55:06 +00:00
Nils Dijk 72015faeb2
fix disable_object_propagation test for pg12 2019-09-19 17:40:24 +02:00
Hanefi Onaldi eccba1d4c3
Create previously distributed functions in new workers (#2985)
Add distributed func creation queries in dependency replication logic
2019-09-18 20:23:33 +03:00
Hanefi Onaldi ed11b9590c
Add distributed func creation queries in dependency replication logic 2019-09-18 20:07:45 +03:00
Hadi Moshayedi 09d4efadcf
Merge pull request #2928 from citusdata/master_update_node
Propagate metadata for master_update_node
2019-09-18 09:40:28 -07:00
Hadi Moshayedi d2f2acc4b2 Make master_update_node citus-ha friendly. 2019-09-18 09:32:54 -07:00
Hadi Moshayedi 76f3933b05 Add metadatasynced, and sync on master_update_node()
Co-authored-by: pykello <hadi.moshayedi@microsoft.com>
Co-authored-by: serprex <serprex@users.noreply.github.com>
2019-09-18 09:32:54 -07:00
Nils Dijk db5d03931d
Feature disable object propagation (#2986)
DESCRIPTION: Provide a GUC to turn of the new dependency propagation functionality

In the case the dependency propagation functionality introduced in 9.0 causes issues to a cluster of a user they can turn it off almost completely. The only dependency that will still be propagated and kept track of is the schema to emulate the old behaviour.

GUC to change is `citus.enable_object_propagation`. When set to `false` the functionality will be mostly turned off. Be aware that objects marked as distributed in `pg_dist_object` will still be kept in the catalog as a distributed object. Alter statements to these objects will not be propagated to workers and may cause desynchronisation.
2019-09-18 17:16:22 +02:00
SaitTalhaNisanci c9ec98852e
Ignore .vscode (#2969) 2019-09-18 17:08:22 +03:00
Philip Dubé 1c7e009de3
Merge pull request #2987 from citusdata/dont-fatal
pg12 doesn't support client_min_messages as 'fatal'
2019-09-17 20:49:23 +00:00
Philip Dubé ac14f1dd49 pg12 doesn't support client_min_messages as 'fatal' 2019-09-17 20:37:06 +00:00
Nils Dijk 2b7f5552c8
Fix: rename remote type on conflict (#2983)
DESCRIPTION: Rename remote types during type propagation

To prevent data to be destructed when a remote type differs from the type on the coordinator during type propagation we wanted to rename the type instead of `DROP CASCADE`.

This patch removes the `DROP` logic and adds the creation of a rename statement to a free name.
2019-09-17 18:54:10 +02:00
Nils Dijk 0a3152d09c
Add feature flag to turn off create type propagation (#2982)
DESCRIPTION: Add feature flag to turn off create type propagation

When `citus.enable_create_type_propagation` is set to `false` citus will not propagate `CREATE TYPE` statements to the workers. Types are still distributed when tables that depend on these types are distributed.
2019-09-17 15:50:06 +02:00
Önder Kalacı 47d703c911
Merge pull request #2981 from citusdata/mx_isolation_test_select
MX Isolation Tests for Select
2019-09-17 15:11:17 +02:00
Halil Ozan Akgul 5333296a54 Created isolation tests for select on MX 2019-09-17 12:44:45 +03:00
Hadi Moshayedi c0d736ce91
Merge pull request #2980 from citusdata/fix_2979
Merge two conflicting pg_dist_object headers
2019-09-16 12:44:36 -07:00
Philip Dubé 964020097d Merge two conflicting pg_dist_object headers 2019-09-16 19:19:21 +00:00
Philip Dubé 72dd439ca7
Merge pull request #2979 from citusdata/function_args
Add columns to pg_dist_object for distributed functions
2019-09-16 15:44:48 +00:00
Onder Kalaci cde6b02858 Add columns to pg_dist_object for distributed functions
This PR simply adds the columns to pg_dist_object and
implements the necessary metadata changes to keep track of
distribution argument of the functions/procedures.
2019-09-16 17:28:04 +02:00